如何将日志记录写入graylog服务器
How can I write log record to graylog server
我在 log4j 文件中有 graylog appender。我还有很多其他附加程序,它们在 log4j 文件中的 graylog 集成之前定义。
我想在我运行这个项目的时候把之前定义的日志记录写入graylog。结果如果有AppenderRef
就会把其他日志记录到graylog
我的 log4j 配置应该如何
<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="org.graylog2.log4j2" xmlns="http://logging.apache.org/log4j/2.x/config">
<Properties>
<Property name="filePath">${sys:thy.appdir}/paymentGateway/log
</Property>
</Properties>
<Appenders>
<GELF hostname="graylog.test.com" includeThreadContext="true" name="gelfAppender" port="12212" protocol="UDP" server="graylog.test.com">
<KeyValuePair key="grayloggroup" value="Project_Name"/>
<KeyValuePair key="application" value="App_Key"/>
<PatternLayout pattern="%m%n"/>
</GELF>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<RollingFile fileName="${filePath}/xFileAppender.out" filePattern="${filePath}/xFileAppender-%d{MM-dd-yyyy}-%i.log.gz" name="xFileAppender">
<PatternLayout>
<Pattern>%d - %m%n</Pattern>
</PatternLayout>
<DefaultRolloverStrategy max="2"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger level="info" name="grayLogger">
<AppenderRef ref="gelfAppender"/>
</Logger>
<Logger level="debug" name="xLogger">
<AppenderRef ref="xFileAppender,gelfAppender"/>
</Logger>
<Root level="debug">
<AppenderRef ref="rootAppender"/>
</Root>
</Loggers>
</Configuration>
我在 xFileAppender 中分配引用 gelfAppender 以便同时将日志写入 graylog
<Logger name="xLogger" level="debug">
<AppenderRef ref="xFileAppender,gelfAppender" />
</Logger>
下面是在 Logger 中定义多个 appender 引用的正确方法 -
<Logger name="xLogger" level="debug">
<AppenderRef ref="xFileAppender" />
<AppenderRef ref="gelfAppender" />
</Logger>
我在 log4j 文件中有 graylog appender。我还有很多其他附加程序,它们在 log4j 文件中的 graylog 集成之前定义。
我想在我运行这个项目的时候把之前定义的日志记录写入graylog。结果如果有AppenderRef
就会把其他日志记录到graylog我的 log4j 配置应该如何
<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="org.graylog2.log4j2" xmlns="http://logging.apache.org/log4j/2.x/config">
<Properties>
<Property name="filePath">${sys:thy.appdir}/paymentGateway/log
</Property>
</Properties>
<Appenders>
<GELF hostname="graylog.test.com" includeThreadContext="true" name="gelfAppender" port="12212" protocol="UDP" server="graylog.test.com">
<KeyValuePair key="grayloggroup" value="Project_Name"/>
<KeyValuePair key="application" value="App_Key"/>
<PatternLayout pattern="%m%n"/>
</GELF>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<RollingFile fileName="${filePath}/xFileAppender.out" filePattern="${filePath}/xFileAppender-%d{MM-dd-yyyy}-%i.log.gz" name="xFileAppender">
<PatternLayout>
<Pattern>%d - %m%n</Pattern>
</PatternLayout>
<DefaultRolloverStrategy max="2"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger level="info" name="grayLogger">
<AppenderRef ref="gelfAppender"/>
</Logger>
<Logger level="debug" name="xLogger">
<AppenderRef ref="xFileAppender,gelfAppender"/>
</Logger>
<Root level="debug">
<AppenderRef ref="rootAppender"/>
</Root>
</Loggers>
</Configuration>
我在 xFileAppender 中分配引用 gelfAppender 以便同时将日志写入 graylog
<Logger name="xLogger" level="debug">
<AppenderRef ref="xFileAppender,gelfAppender" />
</Logger>
下面是在 Logger 中定义多个 appender 引用的正确方法 -
<Logger name="xLogger" level="debug">
<AppenderRef ref="xFileAppender" />
<AppenderRef ref="gelfAppender" />
</Logger>