【问题标题】:How I can change folder for creating files in project?如何更改文件夹以在项目中创建文件?
【发布时间】:2019-08-01 15:47:15
【问题描述】:

我在 IntelliJ Idea 中创建了 java maven Web 应用程序。当我尝试通过 .xml 文件创建 log(log4j.log) 文件时,它会创建但在 Tomcat/bin 文件夹中。我想在项目文件夹中创建该文件。

我已经通过这种方式解决了这个问题: 更改 .xml 文件的这一部分

<param name="file" value="log4j.log"/>

到这里

<param name="file" value="C:/Users/Igor/IdeaProjects/JA_Project/log4j.log"/>

我必须在 gitHub 上分享我的项目的主要问题,如果其他人下载了这个项目,他会遇到问题,因为他的计算机上的路径不同

logger.xml 文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
                     xmlns:log4j='http://jakarta.apache.org/log4j/'>



 <appender name="console"
              class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                   value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>

    <appender name="fileAppender"
              class="org.apache.log4j.FileAppender">
        <param name="file" value="C:/Users/Igor/IdeaProjects/JA_Lesson__6/log4j.log"/>
        <param name="maxFileSize" value="10KB" />
        <param name="maxBackupIndex" value="5" />
        <param name="threshold" value="error"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                   value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>

        <filter class="org.apache.log4j.varia.LevelRangeFilter">
        <param name="levelMin" value="ERROR" />
        <param name="levelMax" value="ERROR" />
        </filter>

    </appender>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="console" />
        <appender-ref ref="fileAppender" />
    </root>

</log4j:configuration>

如何更改文件夹以在项目中创建文件?

【问题讨论】:

    标签: java maven tomcat web-applications log4j


    【解决方案1】:

    当我启动服务器时,我可以看到这样的行: 使用 CATALINA_BASE:“C:\Users\Igor.IntelliJIdea2019.3\system\tomcat\Tomcat_9_0_19_Task”

    我的解决方案是设置

    &lt;param name="file" value="${catalina.base}/logs/server.log"/&gt;

    而不是

    &lt;param name="file" value="C:/Users/Igor/IdeaProjects/JA_Lesson__6/log4j.log"/&gt;

    每个人都有自己的通往 CATALINA_BASE 的路径,但里面的结构是一样的! 使用这个“${catalina.base}/logs/”是有意义的

    【讨论】:

      猜你喜欢
      • 2019-03-17
      • 2021-03-14
      • 2022-10-04
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      相关资源
      最近更新 更多