【问题标题】:Where put log4j properies file?log4j 属性文件放在哪里?
【发布时间】:2014-07-23 09:12:06
【问题描述】:

我在.pom文件中添加了

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

通常它可以工作。但是我应该把log4j.properites 文件放在哪里呢?我试着把它放在任何地方。在WEB-INFresources 文件夹中。我将此文件放在我的应用程序的每个文件夹中。并手动到.war 文件中的class 目录。

没用。

我还尝试修改 Jboss 日志记录属性文件。但它没有记录我的日志,只有 Jboss 日志。

如何更改日志记录模式和输出文件?

在 pom 文件中我也有

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

src/main/resources/log4j.properties

log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%m\n

log4j.category.com.devdaily.log4jdemo.Log4JDemo=INFO, STDOUT

在java代码中

private static Logger log = Logger.getLogger(Test.class);
log.error("aaaaaaaa");

控制台输出

11:28:50,247 ERROR [Test] (http--127.0.0.1-8080-1) aaaaaaaa

我在 .properties 文件中出错的地方在控制台上出现错误。我的.properies 文件。也许是里面的错误?

log4j.appender.NotConsole=org.apache.log4j.RollingFileAppender
log4j.appender.NotConsole.fileName=/home/mateusz/log4j/ussd.log
log4j.appender.NotConsole.maxFileSize=20MB
log4j.appender.STDOUT.layout.ConversionPattern=<%d{HH:mm:ss,SSS}><%-5p><%C><%t><%x><%m>%n

【问题讨论】:

  • 文件属于/src/main/resources/log4j.properties。你想记录什么?在你的代码中定义Logger log = Logger.getLogger(); log.warn("it works");,看看它是否被格式化。
  • @Stefan 我更新了问题

标签: java maven logging jboss


【解决方案1】:

我使用 log4j 向我的pom.xml 添加了依赖项,但配置文件在 jboss7dir/standalone/configuration/standalone.xml 中,它正在记录我的应用程序(我通常使用 log4j)和一些 jboss 日志。

【讨论】:

    【解决方案2】:

    您可以将 log4.properties 放在项目的根文件夹中。

    【讨论】:

    • 现在我可以手动加载 .properties 文件,但它不会自动发生