spring cloud 1.4 以上版本不支持 log4j , 而替代 log4j 的是 log4j2, 虽然log4j2在性能方面快了将近10倍,但是log4j2不再支持log4j.properties。
故如果spring cloud如果由1.3升级的话去配置中心取配置文件要注意了。
例子1.3版本的:
pom.xml 新加内容
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</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-log4j</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
application.properties
logging.level.com.bugyun=DEBUG
log4j.properties
# LOG4J配置 log4j.rootCategory=INFO, stdout, file, errorfile log4j.category.com.bugyun=${logging.level.com.bugyun}, bugyunfile log4j.logger.error=errorfile # 控制台输出 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n # root日志输出 log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.file=logs/all.log log4j.appender.file.DatePattern='.'yyyy-MM-dd log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n # error日志输出 log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.errorfile.file=logs/error.log log4j.appender.errorfile.DatePattern='.'yyyy-MM-dd log4j.appender.errorfile.Threshold = ERROR log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n # com.bugyun下的日志输出 log4j.appender.bugyunfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.bugyunfile.file=logs/my.log log4j.appender.bugyunfile.DatePattern='.'yyyy-MM-dd log4j.appender.bugyunfile.layout=org.apache.log4j.PatternLayout log4j.appender.bugyunfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L ---- %m%n
例子1.4版本
pom.xml 新加内容
<!-- log4j依赖包 begin --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <!-- spring boot 1.3.5.RELEASE使用log4j, 在spring boot 1.4的版本中,就需要使用log4j2,否则会出现如下错误: Project build error: 'dependencies.dependency.version' for org.springframework.boot:spring-boot-starter-log4j:jar is missing. <artifactId>spring-boot-starter-log4j2</artifactId> --> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> <!-- 单元测试包 begin --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 单元测试包 end --> <!-- log4j依赖包 end -->
application.properties
logging.config=classpath:log4j2.xml
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出 --> <!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数 --> <configuration status="WARN"> <!--先定义所有的appender --> <appenders> <!--这个输出控制台的配置 --> <console name="Console" target="SYSTEM_OUT"> <!--输出日志的格式 --> <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] - %l - %m%n" /> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" /> </console> <!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 --> <RollingFile name="RollingFileInfo" fileName="logs/info.log" filePattern="logs/info-%d{yyyy-MM-dd-HH-mm}-%i.log"> <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) --> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" /> <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] - %l - %m%n" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="100 MB" /> </Policies> </RollingFile> <RollingFile name="RollingFileError" fileName="logs/error.log" filePattern="logs/error-%d{yyyy-MM-dd-HH-mm}-%i.log"> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" /> <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] - %l - %m%n" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="100 MB" /> </Policies> </RollingFile> </appenders> <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效 --> <loggers> <root level="all"> <appender-ref ref="Console" /> <appender-ref ref="RollingFileInfo" /> <appender-ref ref="RollingFileError" /> </root> </loggers> </configuration>
例子1.4如果用到配置中心
application.properties 里的
logging.config=classpath:log4j2.xml迁移到配置中心配置文件里,同时log4j2.xml文件以及留在旧的工程里
相关推荐
### log4j乱码问题解决...通过以上步骤,可以有效地解决log4j中的乱码问题。正确的日志配置对于开发工作至关重要,它能够帮助开发者更高效地进行调试和问题追踪。希望本文能为你解决实际工作中遇到的相关问题提供帮助。
此外,日志记录也很重要,可以使用标准的日志框架(如 Logback 或 Log4j)记录 Config Server 和 Client 的活动。 总结起来,Spring Cloud Config 是一个强大的工具,它使得在分布式系统中管理配置变得更加简单和...
1. **log4j-spring-cloud-config**:这是一个集成Spring Cloud Config的服务,允许开发者在分布式环境中动态配置Log4j的设置。2.15.0-rc2版本可能会对这部分的配置管理和动态更新机制进行优化,确保在大规模微服务...
【若依SpringCloud微服务版-傻瓜式教程模式】是一个面向初学者的教程,旨在帮助没有微服务架构经验的人快速上手搭建基于Spring Cloud的若依(RuoYi)微服务系统。若依是一个开源的Java管理框架,集成了Vue前端和Spring...
2. 在`init()`方法中,读取`log4j.properties`文件,获取`log4j.appender.file.File`属性的值,即原始的日志路径。然后,将这个路径替换为实际的环境路径,并更新`log4j.properties`中的这个属性值。 3. 使用`...
<artifactId>log4j-slf4j-impl Redis二次封装的这个项目主要实现了自动延期的功能,可以在配置的时候设置某些缓存是否需要自动延期<默认为ture>,自动延期的将会在获取的时候重置 过期时间来达到自动延期功能。...
SpringCloud Finchley Gateway 统一异常处理是指在使用 SpringCloud Finchley 版本的 Gateway 时,如何统一处理系统级异常的方法。默认情况下,SpringCloud Gateway 会返回 HTML 格式的错误页面,而不是我们期望的 ...
5. **日志监控**:Spring Boot Admin可以集成Logback或Log4j2的日志系统,实时查看应用的日志输出。 6. **UI界面**:Spring Boot Admin提供了一个直观的Web界面,用户可以在这个界面上看到所有注册的应用实例,查看...
同时,使用Logback或Log4j记录gRPC请求的日志,便于问题排查和性能优化。 9. **安全性和认证**:GRPC支持TLS加密,以及基于JWT、OAuth2等的身份验证和授权。在Spring Cloud中,可以利用Spring Security或Oauth2.0来...
现在很流行springboot的开发,小编闲来无事也学了学,开发过程中遇见了log4j日志的一个小小问题,特此记载。 首先在pox.xml中引入对应的maven依赖: <!-- 引入log4j--> <groupId>org.springframework....
- **OpenFeign**:Spring Cloud 对 Feign 进行了封装,增加了更多的功能,如支持 Spring MVC 风格的注解,以及支持 Spring Cloud Config。 6. **示例代码** ```java @FeignClient(name = "service-provider") ...
在Spring Cloud框架中,路由网关(Zuul或Spring Cloud Gateway)是系统的重要组成部分,它作为微服务架构中的统一入口,负责请求的路由、负载均衡以及过滤等操作。Spring Boot 2.0的引入为这些功能提供了更稳定、...
【Spring Cloud基础概念】 Spring Cloud 是一套微服务解决方案,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态...
春天云网关访问日志启动器简单的Spring Cloud Gateway Access日志启动器建造./gradlew clean build -x test财产 gateway : accesslog : enabled : true # enable or disable logging, default value is true....
2. **日志集成**: Sleuth可以与各种日志框架如Log4j2、Logback等集成,将追踪ID嵌入到日志中,便于根据ID检索相关日志。 3. **Zipkin集成**: Sleuth可以无缝对接Zipkin,将追踪数据发送到Zipkin服务器,提供可视化...
【标题】"log4j-pig-master.zip" 提示我们这个压缩包可能包含一个与日志管理和名为"pig"的项目相关的源代码仓库。"log4j"是Apache的一个开源项目,它为Java应用程序提供了强大的日志记录服务。在Java世界里,log4j是...
同时,可以通过日志框架(如Logback、Log4j2)记录请求和响应信息,以便于调试和问题排查。 在`spring_cloud_demo`项目中,你应该能找到一个示例应用,它演示了如何设置和运行Spring Cloud Gateway。这个示例可能...
本项目中,我们采用Nacos-server-1.3.2版本进行部署,并将其与IntelliJ IDEA(IDEA)环境下的SpringBoot应用集成,以实现服务提供者(nacos-provider)和服务消费者(nacos-consumer)的运行。 首先,让我们了解Nacos。...
以上就是在Linux环境中部署SpringBoot(SpringCloud)服务并启动多个jar的基本步骤。通过shell脚本自动化操作,可以大大提高运维效率,同时通过日志管理策略,确保了服务的日志可追溯性。在实际的生产环境中,还可能...
Chapter 4, Service Discovery, will describe a service discovery pattern with Spring Cloud Netflix Eureka. You will learn how to run Eureka server in standalone mode and how to run multiple server ...