簡體   English   中英

log4j不寫日志

[英]log4j not writing logs

下面是我的log4j配置

 #log4j.additivity.org.apache.qpid=false log4j.rootLogger=DEBUG, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.threshold=DEBUG log4j.appender.console.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n log4j.logger.javax.jms=DEBUG log4j.logger.org.apache.qpid=DEBUG log4j.logger.org.apache.qpid.amqp_1_0=DEBUG log4j.logger.org.apache.qpid.amqp_1_0.jms=DEBUG 

然后在代碼中

    String log4jConfigFile = System.getProperty("user.dir") + File.separator + "log4j.properties";
    PropertyConfigurator.configure(log4jConfigFile);
    logger.debug("this is a debug log message");

我的調試消息this is a debug log message但不會打印,但是org.apache.qpid的日志消息未在控制台上打印

    <dependency>
        <groupId>org.apache.qpid</groupId>
        <artifactId>qpid-amqp-1-0-client-jms</artifactId>
        <version>0.22</version>
    </dependency>

編輯我是Java的新手...已添加日志記錄依賴項。 我是否需要在某處添加一些設置以將sl4j日志重定向到log4j?

    <slf4j-version>1.6.6</slf4j-version>
    <log4j-version>1.2.17</log4j-version>

    <!-- Logging -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j-version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j-version}</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j-version}</version>
    </dependency>

(不推薦使用的) qpid-amqp-1-0-client-jms客戶端使用java.util.logging ,而不是log4j。 從引用的郵件我送回在2014年到users@qpid.apache.org郵件列表:

您可以通過將Java系統屬性java.util.logging.config.file設置為指向看起來像這樣的文件來打開它:

 handlers=java.util.logging.FileHandler FRM.level=ALL java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter java.util.logging.SimpleFormatter.format=[%1$tc] %4$s: %5$s%n java.util.logging.FileHandler.level=ALL` # (The output file is placed in the directory # defined by the "user.home" System property.) java.util.logging.FileHandler.pattern=%h/qpid-jms-%u.log` 

運行客戶端時,它應該在主目錄中生成一個名為qpid-jms-0.log的文件,其輸出類似於:

 [Mon Feb 24 18:45:58 CET 2014] FINE: RECV[/127.0.0.1:5672|0] : SaslMechanisms{saslServerMechanisms=[ANONYMOUS]} 

請注意,在這個舊客戶端中的登錄確實非常少,理想情況下,您應該將代碼遷移到支持AMQP 1.0的Qpid JMS客戶端https://qpid.apache.org/components/jms/index.html ,它確實使用slf4j ,但對連接和隊列使用不同的配置語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM