Log4j를 사용하여 파일 시스템의 로컬 로그 파일에 쓰려고합니다.스프링 부트 마이크로 서비스의 특정 로그 파일에 log4J이 쓰여지지 않음
실제로 다른 프로젝트의 정확한 속성 파일을 사용하고 내 앱 이름과 일치하도록 최상위 디렉토리의 이름을 변경했습니다. 다른 프로젝트는 logs.log 파일에 기록하지만 어떤 내용도 전혀 인쇄하지 않습니다. 두 프로젝트 모두 동일한 버전의 log4j를 사용합니다.
은 pom.xml 파일 내 유닉스 기반의 맥 OS에
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
, 나는의/var/로그에 cd'ed/다음과 같은 한 : 모든
sudo mkdir myapp
chmod 777 myapp
이 MyApp를 내부에 가지고, 다음 설치를 여기 저기 :
if (log.isDebugEnabled() {
log.debug("print something");
}
MyApp를/SRC/메인/자원/log4j.properties :
log4j.rootCategory=DEBUG, RF
log4j.category.your.category.name=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p [%F]: %m [%d{ISO8601}]%n
log4j.logger.com.amazonaws=DEBUG RF
log4j.appender.RF=org.apache.log4j.RollingFileAppender
log4j.appender.RF.File=/var/log/myapp/logs.log
log4j.appender.RF.MaxFileSize=10MB
log4j.appender.RF.MaxBackupIndex=30
log4j.appender.RF.layout=org.apache.log4j.PatternLayout
log4j.appender.RF.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x(%F:%L) - %m%n
Threshold=DEBUG
이유는 내부 이해하지 마십시오
/var/log/myapp/
더 logs.log 파일 존재 없습니다! 내가 사용 빌드 봄 부팅 1.5.4.RELEASE 내부에이를 사용하여
암 : 사용하여 실행 한 후
mvn clean install
을 그리고 중 하나
java -jar myapp.jar
또는
mvn spring-boot:run
겠습니까 누군가가 나에게 더 나은 특성 파일을 제공 할 수 있는지 또는 내가 뭘 잘못하고 있는지 확인해 주시면 고맙겠습니다.
시간을내어 읽어 주셔서 감사합니다.
log4j 로깅을 허용하려면 봄 부팅 로깅 (기본 로그백)을 제외해야합니다. [제외 방법] (https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html#howto-configure-log4j-for-logging)을 참조하십시오. – Veeram