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.properties配置文件中可以指定字符编码: 下面这行配置指定了两...log4j.rootCategory=INFO,appender1的名字,appender2的名字 下面这两行配置将上一行的两个appender的字符编码配置为GBK:
现在很流行springboot的开发,小编闲来无事也学了学,开发过程中遇见了log4j日志的一个小小问题,特此记载。 首先在pox.xml中引入对应的maven依赖: <!-- 引入log4j--> <groupId>org.springframework....
Log4j中相对路径的问题,遇到这个问题的朋友可以看看该文档
春天云网关访问日志启动器简单的Spring Cloud Gateway Access日志启动器建造./gradlew clean build -x test财产 gateway : accesslog : enabled : true # enable or disable logging, default value is true....
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 ...
SNMP4J是一个商业类库,而且开源免费,它也是一个有着很高技术艺术性的SNMP执行能力的类库,支持J2SE1.4或更高的版本。SNMP4J支持指令发生器(管理器),就像指令回应(代理)一样好。它从SNMP++(一个著名的,支持...
简介 对于日志来说,最常见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:logstash(收集)、elasticsearch(存储+搜索)、kibana(展示),我们将这三个组合起来的技术称之为ELK,所以说ELK...
基于Spring Boot 2和Spring Cloud Finchley.SR2,更符合企业级的分布式和服务化解决方案,Roses拥有高效率的开发体验,提供可靠消息最终一致性分布式事务解决方案,提供基于调用链的服务治理,提供可靠的服务异常...
文档:https://blog.csdn.net/jameshadoop/article/details/82026772
miaosha秒杀商城2代(Spring Cloud版本)项目名称:秒杀商城---- SpringCloud-miaosha由于面临毕业,且时间有限,准备把这个过去的项目使用微服务技术重构一下交上去。持续到2019年9月,会完成全部的更新。附:老...
基于Spring Cloud、oAuth2.0开发基于Vue前后分离的开发平台,提供配套视频开发教程
<artifactId>log4j-slf4j-impl Redis二次封装的这个项目主要实现了自动延期的功能,可以在配置的时候设置某些缓存是否需要自动延期<默认为ture>,自动延期的将会在获取的时候重置 过期时间来达到自动延期功能。...
比如log4j,commons-logging,java-uniform-logging 都会被桥接到 slf4j上来 关于mvnw 是 maven wrapper,保持maven构建工具版本一直的工具 只需要运行命令mvn -N io.takari:maven:wrapper既可生成这些文件 spring ...
springcloud沙盒 Spring云沙箱 依赖关系 JDK 15; 码头工人; Spring Cloud Config服务器 Spring使用示例服务器。 从SpringCloudConfigServer.md 分布式跟踪 实用工具和Zipkin的Rastreamento发行。 Rodar o comando...
- chapter4-2-2:[使用log4j记录日志](http://blog.didispace.com/springbootlog4j/) - chapter4-2-3:[对log4j进行多环境不同日志级别的控制](http://blog.didispace.com/springbootlog4jmuilt/) - chapter4-2-4:...
本项目为Roses系列微服务框架的模块之一,Roses基于Spring Boot 2和Spring Cloud Finchley.RELEASE,致力做更简洁的分布式和服务化解决方案,Roses拥有高效率的开发体验,提供可靠消息最终一致性分布式事务解决方案...
实践建造springcloud的maven工程 项目中的技术选型是: 服务注册中心,服务配置: 纳科斯 服务之间的调用: 开放式 服务网关: 网关 用户登录: Spring安全 持久层框架: mybatis-plus 数据库驱动: mybatis-...
支持log4j,log4j2,logback三大日志框架,支持dubbo,dubbox,springcloud三大RPC框架 项目主页请点击: 示例工程请点击: 特性 通过对日志打标签完成轻量级微服务日志追踪 提供三种接入方式:javaagent完全无侵入...
2、后端采用Spring Boot、Spring Cloud & Alibaba。 3、MqttBroker(支持集群化部署)基于Netty、Reactor3、Reactor-netty。 4、注册中心、配置中心选型Nacos,权限认证使用Redis。 5、流量控制框架选型Sentinel,...
SOA服务框架:SpringCloud 、SpringBoot、RestFul等 分布式缓存:Redis 模块化管理:Maven 数据库连接池:Alibaba Druid ...日志管理:SLF4J 1.7、Log4j 客户端验证:JQuery Validation 动态页签:easyuitab