`

工程管理之二:日志初始化工具

 
阅读更多

现在公司工作中使用的日志工具是slf4j+logback。

初始化工具类实现如下:

public class LogUtil {
	private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(LogUtil.class);
	public static final String __CONF_DIR__ = "conf";
	
	public static void loadLogbackConfiguration(String confDir) {
        try {
            LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
            JoranConfigurator configurator = new JoranConfigurator();
            configurator.setContext(lc);
            lc.reset();
            File file = new File(confDir + "/logback.xml");
            if (file.exists()) {
                configurator.doConfigure(file);
                if (LOGGER.isInfoEnabled()) {
                    LOGGER.info("loading logback conf from:{}", file.getAbsolutePath());
                }
            } else {
                URL url = org.apache.commons.configuration.ConfigurationUtils.locate("logback.xml");
                configurator.doConfigure(url);
                if (LOGGER.isInfoEnabled()) {
                    LOGGER.info("loading logback conf from:{}", url);
                }
            }
            StatusPrinter.printInCaseOfErrorsOrWarnings(lc);
        } catch (JoranException e) {
            LOGGER.error("failed to load logback config from:" + confDir, e);
        }
    }
	
	public static void main(String[] args){
		LogUtil.loadLogbackConfiguration(LogUtil.__CONF_DIR__);
		LOGGER.debug("debug...");
		LOGGER.error("error...");
	}
}

基本过程就是找到并加载logback.xml文件,初始化日志系统。然后就可以使用logger.debug或者logger.error等方法输出日志,其中用到了commons-configuration的类库查找logback.xml文件。

加载logback.xml的JoranConfigurator类是logback内部集成的配置工具。

另外,关于logback的配置及使用我会单独写一篇关于logback的博客总结一下。

希望对看到的人有所帮助。

分享到:
评论

相关推荐

    DBAtools for PL/SQL表空间管理器

    PL/SQL Developer是Oracle数据库当前最流行的开发工具之一,它在ORACLE数据库开发设计方面功能强大,使用方便,但是数据库管理方面一直比较欠缺。 DBATools For PL/SQL Developer 是一款PL/SQL Developer的辅助插件...

    将之前基于SSM实现的教务管理系统改成SpringBoot+Mybatis实现+源代码+文档说明

    ### 2、初始化项目 * 在你的Mysql中,创建一个数据库名称为 EducationalManagementSystem 的数据库,并导入我提供的 .sql 文件。 * 进入src/main/resources修改application.properties配置文件,把数据库登录名和密码...

    学生宿舍管理系统数据库设计说明书.doc

    随着高等教育的发展 ,高校招生规模不断扩大,为了加强对学生宿舍的信息化管理,引入现代化的管理手段 和工具,特开发学生宿舍管理系统对学生宿舍实行全方位的管理。系统中存有学生多个 方面的个人信息和入住情况...

    学生宿舍管理系统数据库设计说明书.pdf

    随着高 等教育的发展,高校招生规模不断扩大,为了加强对学生宿舍的信息化管理,引 入现代化的管理手段和工具, 特开发学生宿舍管理系统对学生宿舍实行全方位的 管理。系统中存有学生多个方面的个人信息和入住情况...

    网管教程 从入门到精通软件篇.txt

    INI:初始化文件;Mwave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装 INP:Oracle 3.0版或早期版本的表单源代码 INRS:INRS远程通信声频 INS:InstallShield安装脚本;X-Internet签字文件;...

    MAPGIS地质制图工具

    裁剪工具:裁剪指定范围的(工程)文件,且可以勾选裁剪完毕自动生成图框。 剪断相交线:选择线剪断相交线或者直接拉一条线剪断相交线,自相交及节点断线。 等分线:定距离或定段数等分一条线。还可以随机按偏移量自动...

    微软Sysinternals Suite工具包 2018.12.18 官方版.zip

    Ctrl2cap 还显示如何使用 NtDisplayString() 打印初始化蓝屏的消息。DebugView Sysinternals 的另一个优先程序:此程序截取设备驱动程序对 DbgPrint 的调用和 Win32 程序生成的 OutputDebugString。它允许在不使用...

    基于python实现的linux后台日志监控小项目+源代码+文档说明

    |--init_configs.py (读取ini初始化配置) |--linux_config.ini (linux服务器配置文件) |--mail_settings.ini (邮箱设置配置文件) |--time_config.ini (cron定时设置配置文件) |--mail |--send_mails.py (发送...

    HGE_系列教材(1-9)

    类型的变量,如果是true 那么表示初始化成功,如果是false 表示出错,这时候可以通 过System_GetErrorMessage 函数来获取错误消息: if (pHge->System_Initiate()) { pHge->System_Start(); } else { MessageBox...

    DBATools For PL/SQL Developer

    2.初始化参数管理 3.重做日志管理 4.数据库监视 4.1.查看SGA统计信息 4.2.查看排序情况 4.3.查看日志切换情况 4.4.查看锁资源 4.11.查看库缓存命中率 4.6.查看数据缓存命中率 4.7.查看WorkArea情况 4.8.查看...

    JAVA上百实例源码以及开源项目

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    weshop-微信小程序应用商城

    3. 执行docs/sql/data.sql文件,初始化数据 4. 修改配置中心(weshop-config-server)的database.properties和common.properties文件,更新MySQL账号和密码,更新RabbitMQ配置,更新zipkinServer配置 5. 运行Maven命令...

    JAVA上百实例源码以及开源项目源代码

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    防火墙相关

    4.3 初始化安装 67 4.4 网关工具 69 4.4.1 TCP Wrapper 69 4.4.2 中继 71 4.4.3 更好的telnetd 71 4.4.4 支持对外的 FTP访问 72 4.5 安装服务 72 4.5.1 邮件递交 72 4.5.2 对内的telnet 73 4.5.3 代理服务 75 4.5.4 ...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,...

Global site tag (gtag.js) - Google Analytics