![](/img/trans.png)
[英]How to write separate log file in syslog server in java using log4j
[英]can not write log in separate file using Log4J and spring boot application in tomcat server
我是spring-boot應用程序的新手,並且想要管理日志屬性以將日志寫入單獨的文件。 但是我的日志僅在“ Catalina.out”文件中打印。
這是pom.xml的一部分:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
.
.
.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
.
.
.
這是log4j2-spring.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="60">
<Properties>
<Property name="log-path">${catalina.base}/logs</Property>
</Properties>
<Appenders>
<Console name="Console-Appender" target="SYSTEM_OUT">
<PatternLayout>
<pattern>
[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
</pattern>>
</PatternLayout>
</Console>
<File name="App-File-Appender" fileName="${log-path}/app_log.log" >
<PatternLayout>
<pattern>
[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
</pattern>
</PatternLayout>
</File>
<File name="SpringBoot-File-Appender" fileName="${log-path}/springboot_log.log" >
<PatternLayout>
<pattern>
[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
</pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Logger name="org.springframework.web" level="info" additivity="false">
<AppenderRef ref="SpringBoot-File-Appender"/>
<AppenderRef ref="Console-Appender"/>
</Logger>
<Logger name="guru.springframework.blog.controllers" level="info" additivity="false">
<AppenderRef ref="App-File-Appender"/>
<AppenderRef ref="Console-Appender"/>
</Logger>
<Root>
<AppenderRef ref="Console-Appender"/>
</Root>
</Loggers>
我的春季靴課:
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
我想知道為什么我的日志文件不創建日志沒有寫在'> $ {catalina.base} / logs / logfile中。
我也測試將這一行放在'application.properties'中:
logging.file=../logs/mylog.log
您應該寫出應用程序根包名稱,即該包在Logger
元素name
屬性中包含應用程序的所有子包和類-
在下面的行中-
<Logger name="guru.springframework.blog.controllers" level="info" additivity="false">
<AppenderRef ref="App-File-Appender"/>
<AppenderRef ref="Console-Appender"/>
</Logger>
將guru.springframework.blog.controllers
替換為您的應用程序根軟件包名稱。
或者,您可以在Root Logger
添加App-File-Appender
<Root>
<AppenderRef ref="App-File-Appender"/>
<AppenderRef ref="Console-Appender"/>
</Root>
但是,使用RootLogger
的一般約定是記錄應用程序依賴項的錯誤消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.