6

この例を実行しようとしていますが、構成に問題があります。

コピーしましたlog4j-jms.properties、、jndi.propertiesLog4jJMSAppenderExample.java

ProjectJMS
|
\_ src
|   \_ Log4jJMSAppenderExample.java
|   \_ jndi.propeties
\_ log4j-jms.properties

activemq私のコンソールで実行します。

私が私の例を実行したとき、私は得ました

log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.`PropertyConfigurator.configure("log4j-jms.properties");`

だから私は追加しました

PropertyConfigurator.configure("log4j-jms.properties");

これで、Eclipseコンソールでログを確認できますが、それでもこの警告が表示されます

log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2012-08-13 10:21:44,741 INFO  Log4jJMSAppenderExample - Test log
Received log [INFO]: Test log

activemqそして私が得たコンソールで

 WARN | Transport Connection to: tcp://127.0.0.1:2005 failed: java.net.SocketException: Connection reset

なぜこれらの警告が表示されるのですか?

  1. 私の輸入品は間違っていますか?

    import javax.jms.Connection;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Session;
    
    import org.apache.activemq.ActiveMQConnectionFactory;
    import org.apache.activemq.command.ActiveMQObjectMessage;
    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;
    import org.apache.log4j.spi.LoggingEvent;
    
  2. 私のファイルは間違った場所にありますか?

  3. Eclipseで構成ファイルを設定するにはどうすればよいですか?使用せずにPropertyConfigurator.configure("log4j-jms.properties");?私が従う例では、このような行はありません。

4

3 に答える 3

13

フォルダlog4j.properties内に存在する必要がありsrcます。そうすれば、Log4Jは、コードを記述しなくても、自動的に構成されます。

于 2012-08-13T08:35:05.817 に答える
2
  1. 輸入については何もありません。

  2. 「log4j:WARNロガーのアペンダーが見つかりませんでした...」というメッセージが表示されるので、ファイルの場所ではありません。log4j構成ファイルの内容を確認してください。これがデモです:

    log4j.rootLogger = INFO、myConsoleAppender log4j.appender.myConsoleAppender = org.apache.log4j.ConsoleAppender log4j.appender.myConsoleAppender.layout = org.apache.log4j.PatternLayout log4j.appender.myConsoleAppender.layout.ConversionPattern = t]%-5p%c%x-%m%n

  3. デフォルトのlog4j構成ファイルは「log4j.properties」であり、誰かが言ったように、それはsrcフォルダーに配置する必要があります。

于 2012-08-13T08:59:39.720 に答える
1

プロジェクトの構造によると、log4j-jms.propertiesはありません。log4j.propertiesがあります。したがって、log4jプロパティのファイル名を変更してください。

于 2012-08-13T08:41:22.160 に答える