转:log4j之配置文件加载过程分析-properties文件和xml文件

log4j是一个通用的log工具。使用log4j的时候我们通常设置properties文件或者xml文件来进行log的配置。那么log4j对配置文件的加载过程是什么样的呢?下面以分析log4j的source的形式来进行说明。 一,properties文件 当用properties文件进行配置的时候,对应的src为PropertyConfigurator。这个PropertyConfigurator class继承了接口 Configurator,并实现doConfigure方法。 对properties文件进行读取的过程如下 1,把properties文件的内容读取到Properties对象中保存。 使用方法: Properties props = new Properties(); FileInputStream istream = null; istream = new FileInputStream(configFileName); props.load(istream); istream.close(); 2,对读到的内容进行解析 2.1进行是否输出内部异常信息的判断 ,通过是否指定参数“log4j.debug”来判断 2.2进行是否复位所有配置信息的判断,通过是否指定参数“log4j.reset”来判断 2.3进行是否设定广域log的level的判断,通过是否指定参数“log4j.threshold”来判断 2.4进行RootLogger的设定 2.4.1 取得RootLogger 2.4.2 取得RootLogger对应的Appender 2.4.2.1取得Appender的Layout,将Layout追加到Appender中 //1 设定Layout的属性 //2 设定Appender的属性 2.4.3 将Appender追加到RootLogger中 2.5进行LoggerFactory的设定 2.5.1 取得指定参数“log4j.loggerFactory”的值,并生成Factory类的实例 2.5.2 设定生成Factory类的实例的属性 2.6进行RootLogger以外其他Logger的设定 2.6.1取得其他的category 2.6.1.1 设置category的level属性 2.6.1.2 取得category对应的Appender 取得Appender的Layout,将Layout追加到Appender中 //1 设定Layout的属性 //2 设定Appender的属性 2.6.1.3 设置category的是否继承parent的属性 2.6.1.4 设置category的输出log的渲染类 二,xml文件 当用xml文件进行配置的时候,对应的src为DOMConfigurator。这个DOMConfigurator class继承了接口 Configurator,并实现doConfigure方法。 对xml文件进行读取的过程,与对properties文件进行解析的内容大致相同.不再重复. 不同点有以下几个地方 //1 使用DOMAPI读取xml文件,并从dom中取得各个node的内容. //2 属性的名称不一样

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将log4j配置文件加载到mybatis核心配置文件中,可以按照以下步骤进行操作: 1. 在mybatis核心配置文件中引入log4j配置文件,例如: ``` <configuration> <properties> <!-- 定义日志输出位置 --> <property name="log.path" value="./logs"/> </properties> <settings> <!-- 自动映射驼峰命名规则 --> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <typeAliases> <!-- 定义类型别名 --> <typeAlias type="com.example.User" alias="User"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!-- 数据库连接信息 --> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <!-- 引入mapper文件 --> <mapper resource="com/example/UserMapper.xml"/> </mappers> <!-- 引入log4j配置文件 --> <properties resource="log4j.properties"/> </configuration> ``` 2. 编写log4j配置文件,例如: ``` log4j.rootLogger=INFO, stdout 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} [%t] %-5p %c{1}:%L - %m%n ``` 3. 在代码中使用Log4j输出日志,例如: ``` import org.apache.log4j.Logger; public class UserDaoImpl implements UserDao { private static final Logger logger = Logger.getLogger(UserDaoImpl.class); @Override public User getUserById(int id) { logger.info("getUserById: id=" + id); // ... } } ``` 这样就可以将log4j配置文件加载到mybatis核心配置文件中,并且在代码中使用Log4j输出日志了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值