log4j에서 로그를 원격 서버로 전송

1794 단어 log4jsocket
1. 서버 구성
1) 서버 프로필log4j-server.properties
#Define a narrow log category. A category like debug will produce some extra logs also from server itself
log4j.rootLogger=ERROR, file

#Define how the socket server should store the log events
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=application-error.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] [%t] [%m]%n

2) 서버 모니터링 시작
java -classpath c:\log4j-1.2.17.jar     org.apache.log4j.net.SimpleSocketServer
4712 c:\log4j-server.properties
주의,log4j-1.2.17.jar와 프로필은 모두 C디스크에 놓여 있으며, 구체적으로 위치를 지정하면 됩니다. 4712는 감청하는 포트 번호입니다.
2. 클라이언트 구성
1) 클라이언트 프로필log4j.properties
#Define the log4j configuration for local application
log4j.rootLogger=ERROR, server

#We will use socket appender
log4j.appender.server=org.apache.log4j.net.SocketAppender

#Port where socket server will be listening for the log events
log4j.appender.server.Port=4712

#Host name or IP address of socket server
log4j.appender.server.RemoteHost=localhost

#Define any connection delay before attempting to reconnect
log4j.appender.server.ReconnectionDelay=10000

2) 코드에서 사용
private static final Logger logger = LoggerFactory.getLogger(xx.class);
logger.error("test name:{}",guolei);

3. 기타 주의점
프로젝트에서 모든 로그를 원격 서버에 보내는 것이 아니라 일부 클래스에 보내는 것이기 때문에 특수한 설정을 해야 합니다.다음과 같습니다.
log4j.logger.com.wanmei.marketing.RuleShowAction=INFO,server

좋은 웹페이지 즐겨찾기