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