Logback与Spring Profile生成2个文件。

huangapple go评论127阅读模式
英文:

Logback with SpringProfile generating 2 files

问题

我尝试使用logback-spring.xml和springprofile如下所示,这是一个自定义的日志依赖项,用于服务,当我激活common-services配置文件时,生成了2个日志,而根据下面的配置应该生成1个文件,请问有什么问题?

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <property resource="bootstrap.yml" />
  4. <springProperty name="appName" source="spring.application.name" />
  5. <springProperty name="loglevel" source="logging.level.com.cialty" />
  6. <springProperty name="serverPort" source="server.port" />
  7. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  8. <encoder>
  9. <pattern>%d{ISO8601} %-5p [%c{3}] [%t] %m%n</pattern>
  10. </encoder>
  11. </appender>
  12. <appender name="APPLICATION" class="ch.qos.logback.core.rolling.RollingFileAppender">
  13. <springProfile name="common-services">
  14. <file>/appllogs/spp/${appName}-${serverPort}.log</file>
  15. </springProfile>
  16. <springProfile name="default">
  17. <file>/appllogs/spp/${appName}.log</file>
  18. </springProfile>
  19. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  20. <springProfile name="common-services">
  21. <fileNamePattern>/appllogs/backup/${appName}/%d{yyyy-MM-dd}%i.log-${serverPort}.zip
  22. </fileNamePattern>
  23. </springProfile>
  24. <springProfile name="default">
  25. <fileNamePattern>/appllogs/backup/${appName}/%d{yyyy-MM-dd}%i.log.zip
  26. </fileNamePattern>
  27. </springProfile>
  28. <maxHistory>7</maxHistory>
  29. <timeBasedFileNamingAndTriggeringPolicy
  30. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  31. <maxFileSize>500MB</maxFileSize>
  32. </timeBasedFileNamingAndTriggeringPolicy>
  33. <totalSizeCap>1GB</totalSizeCap>
  34. </rollingPolicy>
  35. <encoder>
  36. <pattern>%d %-5p %m%n</pattern>
  37. </encoder>
  38. </appender>
  39. <logger name="org.springframework.cloud" level="ERROR" additivity="false">
  40. <appender-ref ref="CONSOLE" />
  41. </logger>
  42. <logger name="com.cialty" level="${loglevel}" additivity="false">
  43. <appender-ref ref="CONSOLE" />
  44. <appender-ref ref="APPLICATION" />
  45. </logger>
  46. <root level="${loglevel}">
  47. <appender-ref ref="CONSOLE" />
  48. <appender-ref ref="APPLICATION" />
  49. </root>
  50. </configuration>

更新:添加了日志信息

  1. 08:01:46,061 |-WARN in Logger[org.springframework.core.env.PropertySourcesPropertyResolver] - No appenders present in context [default] for logger [org.springframework.core.env.PropertySourcesPropertyResolver].
  2. 08:01:46,062 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
  3. ...
  4. (更多日志信息)
  5. ...
  6. 08:01:47,930 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
  7. 08:01:47,930 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@423b2b62 - Registering current configuration as safe fallback point

希望这能帮助你找出问题所在。

英文:

I'm trying to use logback-spring.xml with springprofile as below, this is a custom logging dependency goes into services, when I activate common-services profile I got 2 logs generated, while based on the config below 1 file should be generated, can anyone tell me what's wrong?

  1. &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
  2. &lt;configuration&gt;
  3. &lt;property resource=&quot;bootstrap.yml&quot; /&gt;
  4. &lt;springProperty name=&quot;appName&quot;
  5. source=&quot;spring.application.name&quot; /&gt;
  6. &lt;springProperty name=&quot;loglevel&quot;
  7. source=&quot;logging.level.com.cialty&quot; /&gt;
  8. &lt;springProperty name=&quot;serverPort&quot; source=&quot;server.port&quot; /&gt;
  9. &lt;appender name=&quot;CONSOLE&quot;
  10. class=&quot;ch.qos.logback.core.ConsoleAppender&quot;&gt;
  11. &lt;encoder&gt;
  12. &lt;pattern&gt;%d{ISO8601} %-5p [%c{3}] [%t] %m%n&lt;/pattern&gt;
  13. &lt;/encoder&gt;
  14. &lt;/appender&gt;
  15. &lt;appender name=&quot;APPLICATION&quot;
  16. class=&quot;ch.qos.logback.core.rolling.RollingFileAppender&quot;&gt;
  17. &lt;springProfile name=&quot;common-services&quot;&gt;
  18. &lt;file&gt;/appllogs/spp/${appName}-${serverPort}.log&lt;/file&gt;
  19. &lt;/springProfile&gt;
  20. &lt;springProfile name=&quot;default&quot;&gt;
  21. &lt;file&gt;/appllogs/spp/${appName}.log&lt;/file&gt;
  22. &lt;/springProfile&gt;
  23. &lt;rollingPolicy
  24. class=&quot;ch.qos.logback.core.rolling.TimeBasedRollingPolicy&quot;&gt;
  25. &lt;springProfile name=&quot;common-services&quot;&gt;
  26. &lt;fileNamePattern&gt;/appllogs/backup/${appName}/%d{yyyy-MM-dd}%i.log-${serverPort}.zip
  27. &lt;/fileNamePattern&gt;
  28. &lt;/springProfile&gt;
  29. &lt;springProfile name=&quot;default&quot;&gt;
  30. &lt;fileNamePattern&gt;/appllogs/backup/${appName}/%d{yyyy-MM-dd}%i.log.zip
  31. &lt;/fileNamePattern&gt;
  32. &lt;/springProfile&gt;
  33. &lt;maxHistory&gt;7&lt;/maxHistory&gt;
  34. &lt;timeBasedFileNamingAndTriggeringPolicy
  35. class=&quot;ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP&quot;&gt;
  36. &lt;maxFileSize&gt;500MB&lt;/maxFileSize&gt;
  37. &lt;/timeBasedFileNamingAndTriggeringPolicy&gt;
  38. &lt;totalSizeCap&gt;1GB&lt;/totalSizeCap&gt;
  39. &lt;/rollingPolicy&gt;
  40. &lt;encoder&gt;
  41. &lt;pattern&gt;%d %-5p %m%n&lt;/pattern&gt;
  42. &lt;/encoder&gt;
  43. &lt;/appender&gt;
  44. &lt;logger name=&quot;org.springframework.cloud&quot; level=&quot;ERROR&quot;
  45. additivity=&quot;false&quot;&gt;
  46. &lt;appender-ref ref=&quot;CONSOLE&quot; /&gt;
  47. &lt;/logger&gt;
  48. &lt;logger name=&quot;com.cialty&quot; level=&quot;${loglevel}&quot;
  49. additivity=&quot;false&quot;&gt;
  50. &lt;appender-ref ref=&quot;CONSOLE&quot; /&gt;
  51. &lt;appender-ref ref=&quot;APPLICATION&quot; /&gt;
  52. &lt;/logger&gt;
  53. &lt;root level=&quot;${loglevel}&quot;&gt;
  54. &lt;appender-ref ref=&quot;CONSOLE&quot; /&gt;
  55. &lt;appender-ref ref=&quot;APPLICATION&quot; /&gt;
  56. &lt;/root&gt;
  57. &lt;/configuration&gt;

UPDATE: Logs added

  1. 08:01:46,061 |-WARN in Logger[org.springframework.core.env.PropertySourcesPropertyResolver] - No appenders present in context [default] for logger [org.springframework.core.env.PropertySourcesPropertyResolver].
  2. 08:01:46,062 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
  3. 08:01:46,062 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [CONSOLE]
  4. 08:01:46,066 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
  5. 08:01:46,079 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
  6. 08:01:46,081 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [APPLICATION]
  7. 08:01:46,089 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1641672672 - setting totalSizeCap to 1 GB
  8. 08:01:46,091 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1641672672 - Will use zip compression
  9. 08:01:46,092 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1641672672 - Will use the pattern /appllogs/backup/specialty-redis-schedule/%d{yyyy-MM-dd}%i.log-8443 for the active file
  10. 08:01:46,094 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@7e094740 - The date pattern is &#39;yyyy-MM-dd&#39; from file name pattern &#39;/appllogs/backup/specialty-redis-schedule/%d{yyyy-MM-dd}%i.log-8443.zip&#39;.
  11. 08:01:46,094 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@7e094740 - Roll-over at midnight.
  12. 08:01:46,095 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@7e094740 - Setting initial period to Wed Aug 05 08:01:46 CDT 2020
  13. 08:01:46,095 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@7e094740 - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
  14. 08:01:46,095 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@7e094740 - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
  15. 08:01:46,097 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
  16. 08:01:46,098 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[APPLICATION] - Active log file name: /appllogs/spp/specialty-redis-schedule-8443.log
  17. 08:01:46,098 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[APPLICATION] - File property is set to [/appllogs/spp/specialty-redis-schedule-8443.log]
  18. 08:01:46,100 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.cloud] to OFF
  19. 08:01:46,100 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@1ac85b0c - Propagating OFF level on Logger[org.springframework.cloud] onto the JUL framework
  20. 08:01:46,101 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[org.springframework.cloud]
  21. 08:01:46,101 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [APPLICATION] to Logger[org.springframework.cloud]
  22. 08:01:46,101 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.cialty] to INFO
  23. 08:01:46,101 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@1ac85b0c - Propagating INFO level on Logger[com.cialty] onto the JUL framework
  24. 08:01:46,101 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.cialty] to false
  25. 08:01:46,101 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[com.cialty]
  26. 08:01:46,101 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [APPLICATION] to Logger[com.cialty]
  27. 08:01:46,101 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
  28. 08:01:46,104 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@1ac85b0c - Propagating INFO level on Logger[ROOT] onto the JUL framework
  29. 08:01:46,104 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[ROOT]
  30. 08:01:46,104 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [APPLICATION] to Logger[ROOT]
  31. 08:01:46,104 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
  32. 08:01:46,104 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@16fb356 - Registering current configuration as safe fallback point
  33. 2020-08-05 08:01:46,597 INFO [o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker] [main] Bean &#39;org.springframework.retry.annotation.RetryConfiguration&#39; of type [org.springframework.retry.annotation.RetryConfiguration$$EnhancerBySpringCGLIB$$85af8ffe] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
  34. 08:01:47,923 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
  35. 08:01:47,923 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [CONSOLE]
  36. 08:01:47,923 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
  37. 08:01:47,924 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
  38. 08:01:47,924 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [APPLICATION]
  39. 08:01:47,925 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@691540605 - setting totalSizeCap to 1 GB
  40. 08:01:47,926 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@691540605 - Will use zip compression
  41. 08:01:47,926 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@691540605 - Will use the pattern /appllogs/backup/specialty-redis-schedule/%d{yyyy-MM-dd}%i.log for the active file
  42. 08:01:47,926 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@127a7272 - The date pattern is &#39;yyyy-MM-dd&#39; from file name pattern &#39;/appllogs/backup/specialty-redis-schedule/%d{yyyy-MM-dd}%i.log.zip&#39;.
  43. 08:01:47,926 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@127a7272 - Roll-over at midnight.
  44. 08:01:47,927 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@127a7272 - Setting initial period to Wed Aug 05 08:01:47 CDT 2020
  45. 08:01:47,927 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@127a7272 - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
  46. 08:01:47,927 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@127a7272 - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
  47. 08:01:47,928 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
  48. 08:01:47,928 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[APPLICATION] - Active log file name: /appllogs/spp/specialty-redis-schedule.log
  49. 08:01:47,929 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[APPLICATION] - File property is set to [/appllogs/spp/specialty-redis-schedule.log]
  50. 08:01:47,930 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.cloud] to OFF
  51. 08:01:47,930 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@ff23ae7 - Propagating OFF level on Logger[org.springframework.cloud] onto the JUL framework
  52. 08:01:47,930 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[org.springframework.cloud]
  53. 08:01:47,930 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [APPLICATION] to Logger[org.springframework.cloud]
  54. 08:01:47,930 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.cialty] to INFO
  55. 08:01:47,930 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@ff23ae7 - Propagating INFO level on Logger[com.cialty] onto the JUL framework
  56. 08:01:47,930 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.cialty] to false
  57. 08:01:47,930 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[com.cialty]
  58. 08:01:47,930 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [APPLICATION] to Logger[com.cialty]
  59. 08:01:47,930 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
  60. 08:01:47,930 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@ff23ae7 - Propagating INFO level on Logger[ROOT] onto the JUL framework
  61. 08:01:47,930 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[ROOT]
  62. 08:01:47,930 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [APPLICATION] to Logger[ROOT]
  63. 08:01:47,930 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
  64. 08:01:47,930 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@423b2b62 - Registering current configuration as safe fallback point

答案1

得分: 0

不确定这是否是Spring Boot的一个错误,还是预期的行为,但问题出在我激活配置文件的方式上。

  1. spring:
  2. profiles:
  3. active:
  4. - common-services <------这将使Spring生成2个文件,因为默认配置文件也将被激活。
  5. spring:
  6. profiles:
  7. active: common-services <------这将只激活common-services配置文件,从而只生成1个文件。
英文:

Not sure if this is a bug in Spring-Boot or it's an expected behavior but the problem is in the way I was activating the profile

  1. spring:
  2. profiles:
  3. active:
  4. - common-services &lt;------This will make spring generates 2 files as the default profile will be active as well.
  5. spring:
  6. profiles:
  7. active: common-services &lt;------This will activate common-services only which results to generate 1 file only.

huangapple
  • 本文由 发表于 2020年8月5日 20:45:52
  • 转载请务必保留本文链接:https://go.coder-hub.com/63265537.html
  • java
  • logback
  • slf4j
  • spring-boot
  • spring-logback

如何将MySQL表列作为变量放入 :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定