我正在使用登录akka将日志写入文件,每一件事都很好,直到我的日志文件停止写日志可能它已经满了所以我读了滚动策略所以我可以创建其他文件,但我最终有很多错误
这是我的logback.xml文件
这是我的logback.xml文件
<configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <File>/media/sara/682AA7A32AA76D2E/study/ifkaarproject/articateInScala/log/akka.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>/media/sara/682AA7A32AA76D2E/study/ifkaarproject/articateInScala/log/akka.%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="com.bigbasket.dapp.utilities.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger{0} %X{akkaSource} %msg%n</pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{0} %X{akkaSource} -%msg%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="FILE" /> <appender-ref ref="STDOUT"/> </root> </configuration>
当我在打印出来的消息后在sbt中运行我的应用程序时
15:29:30,350 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy] 15:29:30,350 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] 15:29:30,351 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/media/sara/682AA7A32AA76D2E/study/ifkaarproject/articateInScala/target/scala-2.11/classes/logback.xml] 15:29:30,594 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set 15:29:30,595 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender] 15:29:30,605 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE] 15:29:30,675 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:83 - no applicable action for [rollingPolicy],current pattern is [[configuration][appender][rollingPolicy]] 15:29:30,676 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@5:24 - no applicable action for [fileNamePattern],current pattern is [[configuration][appender][rollingPolicy][fileNamePattern]] 15:29:30,676 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@6:17 - no applicable action for [minIndex],current pattern is [[configuration][appender][rollingPolicy][minIndex]] 15:29:30,676 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@7:17 - no applicable action for [maxIndex],current pattern is [[configuration][appender][rollingPolicy][maxIndex]] 15:29:30,677 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@10:85 - no applicable action for [triggeringPolicy],current pattern is [[configuration][appender][triggeringPolicy]] 15:29:30,677 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@11:22 - no applicable action for [maxFileSize],current pattern is [[configuration][appender][triggeringPolicy][maxFileSize]] 15:29:30,678 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 15:29:30,728 |-INFO in ch.qos.logback.core.FileAppender[FILE] - File property is set to [/media/sara/682AA7A32AA76D2E/study/ifkaarproject/articateInScala/log/akka.log] 15:29:30,729 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 15:29:30,731 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] 15:29:30,734 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 15:29:30,735 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO 15:29:30,735 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT] 15:29:30,736 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT] 15:29:30,736 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. 15:29:30,738 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6f2bba4f - Registering current configuration as safe fallback point
在此之前< rollingPolicy> < triggeringPolicy>每件事都运行正常但akka.log文件没有剩余容量所以我没有选择使用这个rollingPolicy的东西请帮帮我
解决方法
您需要使用RollingFileAppender类型的记录器,而不是FileAppender,如下所示:
<configuration> <!-- this is the important line --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>/media/sara/682AA7A32AA76D2E/study/ifkaarproject/articateInScala/log/akka.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>/media/sara/682AA7A32AA76D2E/study/ifkaarproject/articateInScala/log/akka.%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="com.bigbasket.dapp.utilities.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger{0} %X{akkaSource} %msg%n</pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{0} %X{akkaSource} -%msg%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="FILE" /> <appender-ref ref="STDOUT" /> </root> </configuration>