私はlog4j2でJMSを使ってActiveMqueueにログをプッシュしようとしています。JMSAppenderの使い方log4j2 JAVA
私は私のlog4j2.properitesこの後
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="5">
<Appenders>
<RollingFile name="fishLogstash"
fileName="E:/xxx/log/xxx.server/xxxLogstash.log" append="false"
immediateFlush="false" bufferSize="1000"
filePattern="/soft/log/xxx.server/xxxx-%i.log">
<PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1} - %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="100M" />
</Policies>
<DefaultRolloverStrategy max="10" />
</RollingFile>
<JMS name="jmsQueue" destinationBindingName="logQueue"
factoryName="org.apache.activemq.jndi.ActiveMQInitialContextFactory"
factoryBindingName="ConnectionFactory"
providerURL="tcp://localhost:61616">
<PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1} - %m%n" />
</JMS>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="fish" />
</Root>
</Loggers>
</Configuration>
でこれを行っている、私は私のJavaコードでログインしてJMSのアペンダを使用する方法だろうか?この特定のアペンダーを取得するには、何かがありますか?
Logger log = Logger.getAppender("jmsQueue") ?
ありがとうございます。あなたのプロパティファイルで
ありがとうございました。それは魅力のように働いた。もう1つのことは、キュー内のメッセージを見ることができますが、同時に、この同じログはSTDOUT(コンソール)に書き込まれます。どうすればこれを避けることができますか? I/Oのコストが高価であるためです。私はこの – user3021914
の私のポストを更新しました。要するに、 " "を削除/コメントします。しかし、これにより、log4jを通してすべてのコンソール出力が無効になります。 –
sazzad
しかし、あなたの最後の編集を元に戻して、あなたの問題や期待について言及した新しい質問を投稿することをお勧めします。これにより、より良いソリューションを得るチャンスが増えます。 – sazzad