我试图初始化log4j记录器使用SpringIOC和使用财产onfigurator.configure配置记录器,但财产onfigurator.configure不工作。
我的问题是如何将配置(log4j.properties)传递给Logger类?
波姆。xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<version>1.5.5.RELEASE</version>
</dependency>
混淆班
@Configuration
public class CommonConfig {
@Autowired
private Environment env;
@PostConstruct
public void init() {
PropertyConfigurator.configure("log4j.properties");
}
@Bean(name = "debugLogger")
public Logger debugLogger() {
return Logger.getLogger("regDebug");
}
@Bean(name = "infoLogger")
public Logger infoLogger() {
return Logger.getLogger("regOperational");
}
@Bean(name = "errorLogger")
public Logger errorLogger() {
ic Logger infoLogger() {
return Logger.getLogger("regError");
}}
log4j。性质
log4j.logger.regDebug=DEBUG , stdout, regDebug
log4j.logger.regOperational=INFO, stdout , regOperational
log4j.logger.regError=ERROR , stdout , regError
log4j.rootLogger = INFO, console, regDebug, regOperational, regErro
log4j.appender.fileAppener=org.apache.log4j.RollingFileAppender
# STDOUT appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
#DEBUG LEVEL
log4j.appender.regDebug.Append=true
log4j.appender.regDebug=org.apache.log4j.DailyRollingFileAppender
log4j.appender.regDebug.Append=true
log4j.appender.regDebug.File=D:/Code/log/COMMON_DEBUG.log
log4j.appender.regDebug.MaxFileSize=10MB
log4j.appender.regDebug.MaxBackupIndex=10
log4j.appender.regDebug.DatePattern='.'yyyy-MM-dd-HH'.log'
log4j.appender.regDebug.layout=org.apache.log4j.PatternLayout
log4j.appender.regDebug.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss.SSS} || %5p || %t || %C{1} || %M:%L || %m%n
#INFO LEVEL
log4j.appender.regOperational=org.apache.log4j.DailyRollingFileAppender
log4j.appender.regOperational.Append=true
log4j.appender.regOperational.File=D:/Code/log/COMMON_ERROR.log
log4j.appender.regOperational.DatePattern='.'yyyy-MM-dd-HH'.log'
log4j.appender.regOperational.layout=org.apache.log4j.PatternLayout
log4j.appender.regOperational.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss.SSS} || %5p || %t || %m%n
#ERROR LEVEL
log4j.appender.regError=org.apache.log4j.DailyRollingFileAppender
log4j.appender.regError.Append=true
log4j.appender.regError.File=D:/Code/log/COMMON_ERROR.log
log4j.appender.regError.DatePattern='.'yyyy-MM-dd-HH'.log'
log4j.appender.regError.layout=org.apache.log4j.PatternLayout
log4j.appender.regError.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss.SSS} || %5p || %t || %C{1} || %M:%L || %m%n
Spring Boot提供与Log4J的集成通过sping-boo-starter-log4j
依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>
但首先需要排除默认Spring Boot的日志记录机制:
<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>
另外,确保您的log4j。属性
位于src/main/resources
下。在这种情况下,您不需要显式指定文件到PropertyConfigurator
的路径,并且可以安全地删除init()
方法。
请注意Log4J 1.2。17是相当过时的-它在2015年达到了生命的尽头。您可能需要考虑使用Log4j2来代替或使用LogSun-- Spring Booad使用的默认日志记录机制。
我希望将concur严格用作配置源。我正在使用spring cloud Consor配置来获取配置。我正在使用git2consul将文件加载到Consor并读取它们。根据spring云文档,我在构建中添加了以下内容。格拉德尔 并在我的application.properties 我面临的问题是,预期的属性没有加载到ConfigurationProperties bean中。在ConsultProp
简介 Apache ShardingSphere 提供属性配置的方式配置系统级配置。 配置项说明 名称 数据类型 说明 默认值 sql-show (?) boolean 是否在日志中打印 SQL。 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。 如果开启配置,日志将使用 Topic ShardingSphere-SQL,日志级别是 I
简介 Apache ShardingSphere 提供属性配置的方式配置系统级配置。 配置项说明 名称 数据类型 说明 默认值 sql-show (?) boolean 是否在日志中打印 SQL。 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。 如果开启配置,日志将使用 Topic ShardingSphere-SQL,日志级别是 I
我们在Spring启动应用程序中使用多个数据源配置。这两个数据源都只属于 mysql。 使用以下配置多个数据源: https://medium . com/@ Joe clever/using-multiple-data sources-with-spring-boot-and-spring-data-6430 b 00 c 02e 7 pom.xml更改: 当我启动应用程序时,默认情况下,它会创
主要内容:1. 概述,2. 源码解析1. 概述 属性配置 如果你的应用足够简单,例如,不需要多注册中心或多协议,并且需要在spring容器中共享配置,那么,我们可以直接使用 dubbo.properties作为默认配置。 Dubbo可以自动加载classpath根目录下的dubbo.properties,但是你同样可以使用JVM参数来指定路径:-Ddubbo.properties.file=xxx.properties。 重写与优先
我目前想实现这样的东西: 但是在中,我们将重点关注authProvider()方法和configure() 随着最近的消息,已被弃用。经过研究,我发现了一件事: 所以我也不得不这么做 这解决了另一个问题。但现在,我发现了这个错误。 这也是我的用户服务 你们介意帮我解决这个问题!谢谢:) 我还想提一下,我还没有在网上找到答案