【问题标题】:How do I create log files inside my spring boot project directory? [closed]如何在我的 Spring Boot 项目目录中创建日志文件? [关闭]
【发布时间】:2021-11-09 14:15:32
【问题描述】:

如何在我的 Spring Boot 项目目录中创建日志文件?我想为错误和信息消息创建单独的文件。我正在使用 spring boot v. 2.5。

【问题讨论】:

  • 你试过什么?您遇到了什么问题?
  • 我已经通过使用 logback.xml 完成了这项工作。在那里,我将日志文件位置定义为 D:\\myLogs\\logger\\。但是,我想通过提供动态位置(在项目目录内)来实现这一点。每当应用程序启动时,它都会在项目目录中创建日志文件。

标签: java spring-boot spring-logback


【解决方案1】:

首先,添加log4j依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>

然后在您的项目目录中创建一个log4j.xml 文件,并使用以下cinfig:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
<Properties>
    <Property name="LOG_PATTERN">%highlight{%d -%r-%-5p %X{MdcHeader} %C{1.} - %m%n}{STYLE=Logback}</Property>

    <!--WINDOWS LOG DIRECTORY-->
    <Property name="logDirWindows">D:\\myLogs\\logger\\</Property>
    <Property name="logDir">${logDirLinux}</Property>
</Properties>
<Appenders>
    <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
        <PatternLayout pattern="${LOG_PATTERN}"/>
    </Console>

    <RollingRandomAccessFile name="MainLogger" fileName="${logDir}main.log" filePattern="${logDir}main.log.%d{yyyy-MM-dd}" bufferedIO="true" >
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
        </Policies>
        <PatternLayout pattern="${LOG_PATTERN}"/>
    </RollingRandomAccessFile>

</Appenders>


<Loggers>
    <Logger name="MainLogger" level="info" additivity="false">
        <AppenderRef ref="ConsoleAppender"/>
        <AppenderRef ref="MainLogger"/>
    </Logger>
    <Root level="info">
        <AppenderRef ref="ConsoleAppender"/>
    </Root>
</Loggers>

正如你在配置文件中看到的,我定义了一个目录地址来存储日志:

<Property name="logDirWindows">D:\\myLogs\\logger\\</Property>

【讨论】:

  • 它有一些可能不需要的额外配置。
  • 问题中提到我只想在项目目录中创建日志文件。
  • @Waseem 然后将此 `D:\\myLogs\\logger\` 目录更改为您的项目目录。
  • 没有动态的方式创建吗?
  • 不动态是什么意思?
猜你喜欢
  • 2017-05-08
  • 2020-09-09
  • 2019-10-04
  • 2021-07-09
  • 2021-03-11
  • 1970-01-01
  • 2015-09-08
  • 2017-09-17
  • 1970-01-01
相关资源
最近更新 更多