簡體   English   中英

springboot + eureka + log4j2空日志文件

[英]springboot + eureka + log4j2 empty log file

我在這里按照Spring Eureka教程中的指南創建了一個基本的Eureka注冊表jar應用程序。 下一步是將日志記錄更改為log4j2,因此我可以使用Spring log4j2指南中的指南獲取滾動文件。

我的問題是運行應用程序時,沒有拋出任何錯誤,但是

  1. eureka服務器日志仍然輸出到控制台
  2. 自定義日志輸出文件“ eureka.log”已創建,但為空。
  3. 我寫的任何自定義日志,例如logger.info("Starting Eureka Registry server..."); 在日志文件或控制台日志中都不會顯示。 它們只是被吞沒在內存中的某個地方。

因此,以某種方式,spring正在獲取我的log4j2屬性文件,但它仍然使用eureka服務器的默認內置日志記錄,而忽略了其他文件。

Main.java

@EnableEurekaServer
@SpringBootApplication
public class Main {

public static void main(String[] args) {
    Logger logger = LogManager.getLogger(Main.class.getSimpleName());
    logger.info("Starting Eureka Registry server..."); //Log message disappears
    logger.info("Starting Eureka Registry server..."); //Log message disappears
    logger.info("Starting Eureka Registry server..."); //Log message disappears
    logger.info("Starting Eureka Registry server..."); //Log message disappears
    SpringApplication.run(Main.class, args);     
 }
}

的pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Camden.SR5</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

log4j2.properties

status = error
name = PropertiesConfig
property.filename = logs

filters = threshold

filter.threshold.type = ThresholdFilter
filter.threshold.level = info

appenders = rolling
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}/eureka.log
appender.rolling.filePattern = eureka-%d{MM-dd-yy-HH-mm-ss}-%i.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} [%t] - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20

loggers = rolling

#Make sure to change the package structure as per your application
logger.rolling.name = com.lab.servers
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile

最后,我得到一個空的eureka.log文件,控制台日志輸出如下所示

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.2.RELEASE)

2017-06-18 16:25:48.349  INFO 2601 --- [           main] c.g.c.s.Main                             : No active profile set, falling back to default profiles: default
2017-06-18 16:25:48.362  INFO 2601 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2783717b: startup date [Sun Jun 18 16:25:48 EDT 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@5a56cdac
2017-06-18 16:25:48.812  WARN 2601 --- [           main] o.s.c.a.ConfigurationClassPostProcessor  : Cannot enhance @Configuration bean definition 'refreshScope' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.
2017-06-18 16:25:48.953  INFO 2601 --- [           main] o.s.c.c.s.GenericScope                   : BeanFactory id=7bcf4003-cc89-31c0-9a0e-e63326839222
2017-06-18 16:25:48.966  INFO 2601 --- [           main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2017-06-18 16:25:49.039  INFO 2601 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$25365eb7] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2017-06-18 16:25:49.197  INFO 2601 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8761 (http)
.
.
.
2017-06-18 16:25:51.733  INFO 2601 --- [      Thread-11] o.s.c.n.e.s.EurekaServerBootstrap        : isAws returned false
2017-06-18 16:25:51.734  INFO 2601 --- [      Thread-11] o.s.c.n.e.s.EurekaServerBootstrap        : Initialized server context
2017-06-18 16:25:51.734  INFO 2601 --- [      Thread-11] c.n.e.r.PeerAwareInstanceRegistryImpl    : Got 1 instances from neighboring DS node
2017-06-18 16:25:51.734  INFO 2601 --- [      Thread-11] c.n.e.r.PeerAwareInstanceRegistryImpl    : Renew threshold is: 1
2017-06-18 16:25:51.734  INFO 2601 --- [      Thread-11] c.n.e.r.PeerAwareInstanceRegistryImpl    : Changing status to UP
2017-06-18 16:25:51.739  INFO 2601 --- [      Thread-11] e.s.EurekaServerInitializerConfiguration : Started Eureka Server
2017-06-18 16:25:51.792  INFO 2601 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8761 (http)
2017-06-18 16:25:51.793  INFO 2601 --- [           main] c.n.e.EurekaDiscoveryClientConfiguration : Updating port to 8761
2017-06-18 16:25:51.795  INFO 2601 --- [           main] c.g.c.s.Main                             : Started Main in 4.286 seconds (JVM running for 4.924)
2017-06-18 16:25:56.788  INFO 2601 --- [      Thread-13] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2783717b: startup date [Sun Jun 18 16:25:48 EDT 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@5a56cdac
2017-06-18 16:25:56.790  INFO 2601 --- [      Thread-13] c.n.e.EurekaDiscoveryClientConfiguration : Unregistering application CiveMicroserviceRegistry with eureka with status DOWN
2017-06-18 16:25:56.791  INFO 2601 --- [      Thread-13] c.n.d.DiscoveryClient                    : Shutting down DiscoveryClient ...
2017-06-18 16:25:56.791  INFO 2601 --- [      Thread-13] c.n.d.DiscoveryClient                    : Completed shut down of DiscoveryClient

我懷疑我可能會遺漏某些東西,並且一直在尋找其他解決方案,但是兩天后沒有運氣,我想盡辦法尋求幫助。 歡迎任何建議或技巧。

application.properties ,可以指定:

  • logging.path
  • logging.file
  • logging.level

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM