Reload參數定義:
DOMConfigurator.configureAndWatch("log4j.xml", 1000);
PropertyConfigurator.configureAndWatch("log4j.properites", 1000);
每秒鐘RELOAD參數
SocketAppender:
多個JVM或不同的CLIENT想要ACCESS同一份OUTPUT檔案
可先透過log4j起SERVER
java -classpath log4j.jar org.apache.log4j.net.SimpleSocketServer 4445 simplesocketserver.properties(此檔案需要定義)
定義檔案如下:
**********
log4j.rootLogger=stdout,Roll
log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n log4j.appender.Roll=org.apache.log4j.RollingFileAppender log4j.appender.Roll.File=remote_log.log
log4j.appender.Roll.MaxFileSize=1024KB log4j.appender.Roll.layout=org.apache.log4j.PatternLayout log4j.appender.Roll.layout.ConversionPattern=%p %t %c - %m%n
**********
CLIENT寫法如下:
**********
public class testLogSocket {
static Logger logger = Logger.getRootLogger();
public static void main(String argv[]) {
System.out.println("Try sending logs");
PropertyConfigurator.configure("remoteLog4j.properties");
logger.debug("Hello SocketAppender");
}
}
**********
配合底下log4j定義檔
**********
log4j.rootCategory=stdout,remote
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.remote=org.apache.log4j.net.SocketAppender
log4j.appender.remote.Port=4445 log4j.appender.remote.RemoteHost=127.0.0.1
**********
沒有留言:
張貼留言