[英]How to use JMSAppender log4j2 JAVA
我正在嘗試使用log4j2中的JMS將日志推送到ActiveMqueue。
我已經在我的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>
之后,我想知道如何使用JMS附加程序登錄我的Java代碼? 如何檢索這個特定的appender,是否有類似的東西
Logger log = Logger.getAppender("jmsQueue") ?
提前致謝。
1。
在屬性文件中,有xml
內容。 因此,我假設您正在嘗試使用xml樣式屬性文件。 如果是這樣,請將您的屬性文件重命名為具有.xml
擴展名。 例如log4j2.xml
。 記住要編寫log4j2支持的xml。 示例可以在這里找到。
2。
在屬性文件的“ Loggers
部分中,將定義的附加程序的name
值稱為AppenderRef
。 根據您的Appenders
部分, Loggers
部分可以是
<Loggers>
<Logger name="jmsLogger" level="warn">
<AppenderRef ref="jmsQueue" />
</Logger>
<Root level="warn">
<AppenderRef ref="fishLogstash" />
</Root>
</Loggers>
3。
在您的代碼中,按以下方式獲取JMS記錄器:
Logger log = LogManager.getLogger("jmsLogger");
您可以使用log
變量記錄任何內容。 例如
log.info("some message");
希望這個答案對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.