0
我按照這裏的教程Spring Eureka Tutorial創建了一個基本的Eureka註冊表jar應用程序。下一步是將日誌記錄更改爲log4j2,這樣我可以使用在此處找到的指南Spring log4j2 guide來製作滾動文件。springboot + eureka + log4j2空日誌文件
我的問題是,當我運行應用程序,我沒有拋出錯誤,但
- 尤里卡服務器日誌仍然輸出到控制檯
- 自定義日誌輸出文件「eureka.log」被創建,但它是空的。
- 我寫的任何自定義日誌,例如
logger.info("Starting Eureka Registry server...");
都不會顯示在任何地方,不在日誌文件或控制檯日誌中。他們只是在記憶中的某個地方被吞噬。
因此,不知何故,春天正在拿起我的log4j2屬性文件,但它仍然使用默認的內置日誌記錄爲尤里卡服務器和忽略其他。
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[email protected]: startup date [Sun Jun 18 16:25:48 EDT 2017]; parent: org.spring[email protected]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[email protected]2783717b: startup date [Sun Jun 18 16:25:48 EDT 2017]; parent: org.spring[email protected]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
我懷疑我可能失去了一些東西,我一直在尋找其他的解決方案,但後2天,沒有運氣我想最好問求助。任何建議或提示,歡迎。
是的,但是這仍然會使用默認的logback爲日誌。我想像教程中那樣將它切換到Log4j2。但它不工作。 – Rhycce