我尝试在Sping Boot 中使用log4j核心Maven依赖项创建日志。当我尝试在www.example.com中使用下面的代码时application.properties,会生成错误日志
网址:application.properties
# Set the logging level for Spring Framework to ERROR
logging.level.com.crystalbi.push_notifications = INFO
# Define the log file location and log pattern
logging.file.name = errorlogs/error-logs.log
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.logback.rollingpolicy.max-file-size = 1GB
当我对XML文件做同样的事情时,它不起作用。
我的目标是创建两个单独的日志文件。一个可以存储错误日志(在errorlogs文件夹中)和常规日志(在generallogs文件夹中)的地方。当我创建一个log4j2.xml文件,并尝试再次运行我的服务器来测试该文件时,任何文件夹中都没有存储日志。我到底做错了什么?
我的Log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<!-- General Logs Appender -->
<RollingFile name="GeneralLog" fileName="generalLogs/app.log" filePattern="generalLogs/app-%d{yyyy-MM-dd}-%i.log">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n</Pattern>
</PatternLayout>
</RollingFile>
<!-- Error Logs Appender -->
<RollingFile name="ErrorLog" fileName="errorlogs/error.log" filePattern="errorlogs/error-%d{yyyy-MM-dd}-%i.log">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n</Pattern>
</PatternLayout>
<Filters>
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
</RollingFile>
<Console name="LogToConsole" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="com.mkyong" level="INFO" additivity="false">
<AppenderRef ref="GeneralLog"/>
<AppenderRef ref="LogToConsole"/>
</Logger>
<Logger name="org.springframework.boot" level="ERROR" additivity="false">
<AppenderRef ref="ErrorLog"/>
<AppenderRef ref="LogToConsole"/>
</Logger>
<Root level="ERROR">
<AppenderRef ref="GeneralLog"/>
<AppenderRef ref="ErrorLog"/>
<AppenderRef ref="LogToConsole"/>
</Root>
</Loggers>
</Configuration>
我的Maven依赖项:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
我希望在各自的文件夹中获得日志,但它不会工作,我不知道为什么。Sping Boot 3.1.3我是新的这个日志记录的概念,从来没有与此工作。
2条答案
按热度按时间thtygnil1#
尝试使用:
因此,配置文件:
9o685dep2#
尝试添加这3个依赖项。
在java文件中创建变量
然后使用上述变量写入日志
main/resources
中的logback.xml。您可以创建任意多的文件。只是不同的变量,并相应地给予对logback.xml的引用。告诉我进展如何,我们可以进一步讨论。或者你也可以分享你的git仓库,我们可以在那里工作。