java - 如何更改文件夹以在项目中创建文件?
问题描述
我在 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>
如何更改文件夹以在项目中创建文件?
解决方案
当我启动服务器时,我可以看到这样的行: Using CATALINA_BASE: "C:\Users\Igor.IntelliJIdea2019.3\system\tomcat\Tomcat_9_0_19_Task"
我的解决方案是设置
<param name="file" value="${catalina.base}/logs/server.log"/>
代替
<param name="file" value="C:/Users/Igor/IdeaProjects/JA_Lesson__6/log4j.log"/>
每个人都有自己的 CATALINA_BASE 路径,但内部结构是一样的!使用这个“${catalina.base}/logs/”是有意义的
推荐阅读
- php - 分页显示一个额外的页面
- python - Python:将一列添加到具有不同长度的数据框中,重复添加的列直到填充数据框长度
- mysql - ERROR 1452:无法在 MySQL 中添加或更新子行
- javascript - 工具提示在点击时显示/隐藏 JavaScript / CSS
- mapbox-gl - 使用 Mapbox GL 需要 API 访问令牌
- python - 满足条件时的掩码以及行上的所有后续值(不使用循环)
- akeneo - Akeneo 3.2 未加载问题 | Ubuntu 16
- jquery - 更改滚动时标题背景的颜色
- java - Eclipse Java 项目的 build.properties 文件位于何处?
- python - 如何检查彼此相邻的相同元素的最多数量?