1
내 Java Desktop 응용 프로그램에 대한 내 프로젝트의 일부로 Log4J 로깅을 구현했으며 정상적으로 작동합니다.프로젝트 간 Log4j 공유
이제 다른 프로젝트가 있고 두 프로젝트가 동일한 로그 파일을 공유하려고합니다. 이 두 프로젝트는 내 응용 프로그램에 함께 제공되므로 로그 파일을 공유하는 것이 좋습니다. 이것이 어떻게 가능한지 ?
LoggerClass :
package com.application.logging;
import org.apache.log4j.Logger;
public class LoggingSample {
private static Logger logger = Logger.getLogger("Visualx");
public static Logger getLogger() {
return logger;
}
public static void setLogger(Logger logger) {
LoggingSample.logger = logger;
}
}
Log4j.properties 파일 : 가능 기술 된 경우에도
# Log levels
log4j.rootLogger=INFO,CONSOLE,R
# Appender Configuration
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
# Pattern to output the caller's file name and line number
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# Rolling File Appender
log4j.appender.R=org.apache.log4j.RollingFileAppender
# Path and file name to store the log file
log4j.appender.R.File=${user.home}/log/testlog.log
log4j.appender.R.MaxFileSize=200KB
# Number of backup files
log4j.appender.R.MaxBackupIndex=2
# Layout for Rolling File Appender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %c - %p - %m%n
이점 중 하나는 적어도 내 응용 프로그램이 단일 스레드 것입니다. 그래서 그런 해결책이 존재한다면 문제를 동기화하는 것에 신경을 쓰지 않아도됩니다. – rockstar