如何在Spring Boot';s application.yml
是否可以在Spring Boot应用程序的application.yml中配置每日文件追加器 i、 文件名模式:myfile.%d{yyyy-MM-dd HH-MM-ss}.log 我在application.yml文件中有如下配置如何在Spring Boot';s application.yml,spring,logging,spring-boot,yaml,Spring,Logging,Spring Boot,Yaml,是否可以在Spring Boot应用程序的application.yml中配置每日文件追加器 i、 文件名模式:myfile.%d{yyyy-MM-dd HH-MM-ss}.log 我在application.yml文件中有如下配置 logging: file: /mypath/myfile.log level: mypackage: INFO 谢谢这是基于大小的(10MB) 在logback.xml中,只需按照所述配置TimeBasedRollingPolicy 例
logging:
file: /mypath/myfile.log
level:
mypackage: INFO
谢谢这是基于大小的(10MB)
在logback.xml
中,只需按照所述配置TimeBasedRollingPolicy
例如:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<appender name="ROLLIN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="ROLLIN" />
</root>
<logger name="org.springframework.web" level="INFO"/>
</configuration>
${LOG_文件}
${LOG\u FILE}.%d{yyyy-MM-dd}.LOG
要覆盖默认的文件追加器并将其更改为每日滚动,可以使用logback-spring.xml,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<appender name="ROLLING-FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ROLLING-FILE"/>
</root>
</configuration>
${FILE\u LOG\u PATTERN}
${LOG_文件}
${LOG\u FILE}.%d{yyyy-MM-dd}.LOG
由此:
您还可以根据数据库中的文件大小配置滚动策略 logback-spring.xml。在下面的示例中,我们为
SizeBasedTriggeringPolicy
指定最大文件大小为10MB:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<appender name="ACTUAL_LOG_FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<!-- gz extension to enable file deletion by logrotator -->
<fileNamePattern>${LOG_FILE}.%i.gz</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<root level="INFO">
<appender-ref ref="ACTUAL_LOG_FILE" />
</root>
</configuration>
${FILE\u LOG\u PATTERN}
${LOG_文件}
${LOG\u FILE}.%i.gz
1.
10
10MB
派对有点晚了。。。但是,我能够使用application.yaml中的以下配置(按大小)滚动日志文件,并且没有任何logback.xml配置:
logging:
file: /var/log/webapps/app/app.log
# Roll the log file when it reaches max size
file.max-size: 1024KB
# Limit the number of log files retained
file.max-history: 50
pattern:
console: "%d %-5level %logger : %msg%n"
file: "%d %-5level [%thread] %logger : %msg%n"
level:
root: info
my.package.of.app: debug
org.springframework: error
# etc. etc.
使用弹簧靴2.3.4
和2.2.10
Not
使用弹簧靴2.1.17
在application.properties文件中添加这些代码行,根据需要使用任意代码行
logging.file.name=myinfo.log
#daily rolling logs
logging.pattern.rolling-file-name=myinfo-%d{yyyy-MM-dd}.%i.log
#per hour rolling logs
logging.pattern.rolling-file-name=myinfo-%d{yyyy-MM-dd-HH}.%i.log
#per minute rolling logs
logging.pattern.rolling-file-name=myinfo-%d{yyyy-MM-dd-HH-mm}.%i.log
#per secs rolling logs
logging.pattern.rolling-file-name=myinfo-%d{yyyy-MM-dd-HH-mm-ss}.%i.log
谢谢Donovan,我想知道是否可以避免像dropwizard中那样使用logback.xml,我可以在config.yml中定义它。i、 e.在日志记录下,我可以使用以下类型定义附加器:file、currentLogFilename:/mypath/myfile.log、archiveLogFilenamePattern:/mypath/myfile-d%(yyyy-MM-dd}.log.gz,archiveFileCount:3,时区:UTC。这似乎在Spring Boot中目前是不可能的。嗯,
logging.config
可能值得一看,但不确定…面临相同的问题,所以@ele是否意味着无法在Spring Boot中配置appender类型?@Amnon Logback是默认的日志类型Spring Boot中的校正,在application.yml
中没有通用的配置方法,所以您必须在特定于实现的配置文件中配置它。@Donovan,我明白了。所以这应该在您的回答中明确说明。对我来说,在删除file
属性时,它会起作用,然后我指定属性日志ging.file=path/filename我正在寻找这个配置,其中日志记录将同时在控制台和文件上。谢谢!有人通过yml文件找到解决方案吗?我面临着同样的问题:OP询问application.yml而不是logback.xml这不是一个RollingFileAppender。如果您想将日常日志用作日志,那么这个配置工作得非常好gging.pattern.rolling file name=MyApp-%d{yyyyy-MM-dd}.%i.log,如果需要每小时日志记录。pattern.rolling file name=MyApp-%d{yyyyy-MM-dd-HH}.%i.log
logging.file.name=MyApp.log
logging.pattern.rolling-file-name=MyApp-%d{yyyy-MM-dd-HH-mm-ss}.%i.log
logging.file.name=myinfo.log
#daily rolling logs
logging.pattern.rolling-file-name=myinfo-%d{yyyy-MM-dd}.%i.log
#per hour rolling logs
logging.pattern.rolling-file-name=myinfo-%d{yyyy-MM-dd-HH}.%i.log
#per minute rolling logs
logging.pattern.rolling-file-name=myinfo-%d{yyyy-MM-dd-HH-mm}.%i.log
#per secs rolling logs
logging.pattern.rolling-file-name=myinfo-%d{yyyy-MM-dd-HH-mm-ss}.%i.log