博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【log4j2 加载配置文件】 加载配置文件的三种方法
阅读量:6313 次
发布时间:2019-06-22

本文共 4195 字,大约阅读时间需要 13 分钟。

log4j 2读取的配置文件可以分为三类:src下的配置文件、绝对路径的配置文件、相对路径的配置文件。
1 package com.herman.test;  2   3 import java.io.File;  4 import java.io.FileInputStream;  5 import java.net.URL;  6   7 import org.apache.logging.log4j.LogManager;  8 import org.apache.logging.log4j.Logger;  9 import org.apache.logging.log4j.core.config.ConfigurationSource; 10 import org.apache.logging.log4j.core.config.Configurator; 11  12 public class ConfigTest { 13    14   private static Logger logger = LogManager.getLogger(ConfigTest.class); 15   /** 16    * log4j 2读取配置文件 17    * log4j 2读取的配置文件可以分为三类:src下的配置文件、绝对路径的配置文件、相对路径的配置文件 18    */ 19    20   //第一类  加载src下的配置文件 21   public static void test0(){ 22     //src下的配置文件会默认的被log4j的框架加载,我们就不显示的加载了 23     //直接测试 24     logger.info("我打印了......."); 25     //输出内容 26     //2014-09-01 15:49:30,229 INFO  [main] test.ConfigTest (ConfigTest.java:18) - 我打印了....... 27   } 28    29   //第二类  绝对路径的配置文件 30   public static void test1(){ 31     //我们将log4j2.xml放在D盘下 32     //这是需要手动的加载 33     //绝对路径配置文件         34     ConfigurationSource source; 35     try { 36       //方法1  使用  public ConfigurationSource(InputStream stream) throws IOException 构造函数 37       source = new ConfigurationSource(new FileInputStream("D:\\log4j2.xml")); 38        39       //方法2 使用 public ConfigurationSource(InputStream stream, File file)构造函数 40       File config=new File("D:\\log4j2.xml"); 41       source = new ConfigurationSource(new FileInputStream(config),config); 42        43       //方法3 使用 public ConfigurationSource(InputStream stream, URL url) 构造函数 44       String path="D:\\log4j2.xml"; 45       source = new ConfigurationSource(new FileInputStream(path),new File(path).toURL()); 46        47       //source.setFile(new File("D:\log4j2.xml"));         48       //source.setInputStream(new FileInputStream("D:\log4j2.xml"));         49       Configurator.initialize(null, source);                 50       Logger logger = LogManager.getLogger(ConfigTest.class.getName());          51       logger.trace("trace...");         52       logger.debug("debug...");         53       logger.info("info...");         54       logger.warn("warn...");         55       logger.error("error...");         56       logger.fatal("fatal..."); 57       //一下是运行效果 58       /*2014-09-01 16:03:07,331 DEBUG [main] test.ConfigTest (ConfigTest.java:42) - debug... 59       2014-09-01 16:03:07,331 INFO  [main] test.ConfigTest (ConfigTest.java:43) - info... 60       2014-09-01 16:03:07,331 WARN  [main] test.ConfigTest (ConfigTest.java:44) - warn... 61       2014-09-01 16:03:07,331 ERROR [main] test.ConfigTest (ConfigTest.java:45) - error... 62       2014-09-01 16:03:07,331 FATAL [main] test.ConfigTest (ConfigTest.java:46) - fatal...*/ 63     } catch (Exception e) { 64       e.printStackTrace(); 65     }         66   } 67    68   //第三类  相对路径的配置文件加载 69   public static void test2(){ 70     //这里需要注意路径中不要出现中文和空格,如果存在中文,请使用url转码 71     ConfigurationSource source; 72     try { 73       //方法1  使用getResource() 74       String path="/com/herman/config/log4j2.xml"; 75       URL url=ConfigTest.class.getResource(path); 76       source = new ConfigurationSource(new FileInputStream(new File(url.getPath())),url); 77       Configurator.initialize(null, source);     78        79       //方法2 使用System.getProperty 80       String config=System.getProperty("user.dir"); 81       source = new ConfigurationSource(new FileInputStream(config+"\\src\\com\\herman\\config\\log4j2.xml")); 82       Configurator.initialize(null, source); 83        84       //输出内容 85       /*2014-09-01 16:32:19,746 DEBUG [main] test.ConfigTest (ConfigTest.java:53) - debug... 86       2014-09-01 16:32:19,746 INFO  [main] test.ConfigTest (ConfigTest.java:54) - info... 87       2014-09-01 16:32:19,746 WARN  [main] test.ConfigTest (ConfigTest.java:55) - warn... 88       2014-09-01 16:32:19,746 ERROR [main] test.ConfigTest (ConfigTest.java:56) - error... 89       2014-09-01 16:32:19,746 FATAL [main] test.ConfigTest (ConfigTest.java:57) - fatal...*/ 90     } catch (Exception e) { 91       e.printStackTrace(); 92     } 93   } 94    95   public static void main(String[] args) { 96     //test0(); 97     //test1(); 98     test2(); 99   }100 }
View Code

 

转载地址:http://trexa.baihongyu.com/

你可能感兴趣的文章
Notepad++配置Python开发环境
查看>>
用户组概念 和 挂载 概念
查看>>
如何快速获取ADO连接字符串
查看>>
AspNetPager控件的最基本用法
查看>>
sessionKey
查看>>
高性能Javascript--脚本的无阻塞加载策略
查看>>
Java 编程的动态性, 第4部分: 用 Javassist 进行类转换--转载
查看>>
完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
查看>>
iOS8 Push Notifications
查看>>
各大名企笔试及面经大全(程序猿必读)
查看>>
Oracle 连接、会话数的查看,修改
查看>>
Python使用QRCode模块生成二维码
查看>>
英语学习的重要性
查看>>
Android中Handler引起的内存泄露
查看>>
原产地政策,jsonp跨域
查看>>
ffmpeg参数具体解释
查看>>
记一次公司仓库数据库服务器死锁过程
查看>>
Oracle 11g password过期被锁定报道 ORA-28000 the account is locked
查看>>
【Struts2学习笔记(2)】Action默认值和配置Action于result各种转发类型
查看>>
轨磁条简介
查看>>