0

我见过很多关于上述主题的问题,但没有一个能解决这个问题。我正在尝试使用 log4j 登录到 $CATALINA_BASE/logs/ 目录中的自定义文件。我配置了 log4j.xml 文件并将其复制到 $CATALINA_BASE/lib/ 目录中。

我使用以下几行来创建记录器 -

PatternLayout 布局 = new PatternLayout(); FileAppender appender= new FileAppender("filename.txt");

这就是我的问题所在。如何使 FileAppender 采用我在 log4j.xml 中配置的文件名?

我希望它会自动选择它,但是 FileAppender 没有不接受文件名的构造函数。

我是否必须阅读 log4j.xml 才能获得文件名?如果是这样,为什么我需要在 xml 中设置该属性?

任何帮助将不胜感激。

谢谢, - 瓦斯

4

1 回答 1

1

嗯...为什么要在代码中创建 FileAppender?只需使用 LoggerFactory 创建一个记录器,指定字符串(通常采用您在 log4j XML/properties 文件中配置的 com.xxx.yyy 格式)并开始记录。确保记录器被配置为在配置文件中使用 FileAppender 实现(Daily 或 RollingFile),并且一切就绪。

于 2009-11-27T19:07:15.067 回答