`

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

 
阅读更多

现在公司工作中使用的日志工具是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的博客总结一下。

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

分享到:
评论

相关推荐

    新建SQL数据库并初始化

    总之,新建和初始化SQL数据库是一项关键的任务,涉及数据库管理系统的选择、安装、设计表结构、设置权限等多个环节。掌握这些技能对于任何IT专业人员来说都是至关重要的,特别是在数据驱动的现代业务环境中。

    新唐M051初始化工程文件

    总的来说,"新唐M051初始化工程文件"是为快速进入M051开发的便利工具,通过它,开发者可以避免从零开始搭建环境,而专注于应用层的代码编写和功能实现。在实际使用过程中,开发者应结合新唐科技提供的数据手册和应用...

    嵌入式log日志管理代码库

    2. **配置初始化**:在项目启动时,调用初始化函数设置日志级别、输出方式等参数。 3. **日志记录**:在需要输出日志的地方,调用提供的宏函数,如`EL_LOG_PRINTF()`,传入相应的模块ID和日志信息。 4. **日志清理**...

    C++ 封装的日志类

    在C++编程中,日志记录是一个至关重要的实践,它帮助开发者追踪程序运行时的状态,定位和解决问题。本文将深入探讨一个支持ASCII和Unicode编码的日志...总的来说,一个好的日志系统是任何复杂软件工程不可或缺的工具。

    flask框架工程搭建-日志-蓝图

    `biuldProject`可能是指构建项目的脚本或目录,通常会包含初始化项目结构、安装依赖、设置环境变量等步骤。在实际操作中,这可能包括创建虚拟环境、安装Flask及其相关扩展、设置配置文件、编写初始化脚本等。 在...

    nuc970裸机工程,实现了AIC中断控制器,裸机初始化,串口驱动,定时器驱动;

    这个工程包含了对AIC中断控制器的实现、裸机初始化流程、串口驱动程序以及定时器驱动程序。这些是构建嵌入式系统的基础组件,对于理解NUC970系列芯片的工作原理和应用至关重要。 首先,我们来详细讨论AIC中断控制器...

    物业管理系统主要功能点介绍 .docx

    17. **系统维护管理**:系统初始化、编码管理、权限分配、操作日志、数据备份与恢复,保障系统稳定运行。 通过这些功能的集成,物业管理系统实现了物业公司的全方位数字化管理,提高了服务质量和运营效率,同时也...

    ChipsBank(芯邦) 量产工具

    1. **固件编程**:能够将预设的固件或数据写入CBM2092芯片,这是设备初始化和功能更新的关键步骤。 2. **批量操作**:对于生产线上大量相同的芯片,此工具可以一次性处理多个设备,大大提高了生产效率。 3. **故障...

    h3c工程师网络测试专工具

    1. **初始化检查**:启动IPOP.EXE,进行基本的网络连接检查,确认设备与网络的连通性。 2. **链路测试**:通过ping命令测试到目标主机的响应时间,评估网络延迟。 3. **路由追踪**:使用tracert或traceroute功能,...

    信息系统管理工程师09年下半年下午试卷

    - **漏洞扫描:** 自动化工具检测系统中存在的漏洞。 - **代码审查:** 手动或自动化检查源代码,寻找安全缺陷。 - **配置审计:** 确保系统的配置符合安全策略的要求。 **3. 入侵检测系统的功能:** - **实时监测...

    IBM-V3500/3700配置手册

    初始化过程中,需将USB Key插入工程师的PC或笔记本执行初始化工具,通过向导设置相关参数。设置完成后,USB Key将被移至V3500/V3700的控制器USB口,以完成系统的初始化。初始化操作完成后,可以通过管理IP地址访问...

    用MFC写的日志追踪

    2. **静态方法**:用于初始化和关闭日志系统,确保在程序开始和结束时正确配置和清理资源。 3. **非静态方法**:用于记录不同级别的日志,例如`AddDebugLog`、`AddInfoLog`等,这些方法接收日志信息作为参数,并根据...

    物业管理系统主要功能点介绍 (2).docx

    17. **系统维护管理**:负责系统初始化、编码管理、权限分配、操作日志记录、数据备份恢复以及数据清理,确保系统稳定运行。 以上各点共同构成了一个完整的物业管理系统,它有助于提升物业管理效率,优化服务质量和...

    数据库高级管理工程师培训内容涵盖Oracle.docx

    - 参数文件:理解spfile和pfile,以及它们之间的转换,并学会修改初始化参数。 - 口令管理:OS认证、口令文件认证,以及SYS用户的口令管理。 3. **网络配置**: - 监听进程:配置监听进程和网络服务名,解决网络...

    IBM V3500&3700磁盘阵列配置详细说明

    IBM V3500 和 V3700 的初始化流程是部署前的关键步骤之一,主要涉及以下环节: 1. **使用 USB Key 初始化系统**: - **准备 USB Key**:V3500/3700 标配包含一个 USB Key,用于初始化或恢复存储系统的配置。 - **...

    VC Console日志输出

    2. 初始化日志:在程序启动时,调用初始化函数设置日志级别、文件名等参数。 3. 记录日志:在程序的关键位置,调用日志类提供的函数,如`LogInfo`, `LogWarning`, `LogError`等,传递相应的信息。 4. 销毁日志:在...

    网络工程师必备工具软件-3CDaemon

    TFTP是一个轻量级的文件传输协议,常用于设备初始化、固件更新等场景。3CDaemon的TFTP服务器能够快速响应,实现快速传输,尤其适用于网络设备的远程配置和维护。 再者,syslog日志服务器是3CDaemon的另一大亮点。...

    电网104规约协议调测工具、104协议调测工具、电网104规约调测工具、104长链接调测工具

    1. **连接测试**:工具可以帮助工程师建立和验证与远程设备的TCP连接,确保104规约的四层连接模型(初始化、连接、数据传输、断开)的正常运行。 2. **报文解析**:工具可以捕获并解析通信过程中的ASDU(应用服务...

    U8 cloud实施工具-产品培训-企业建模平台

    - **工程基础数据**:如果涉及工程项目管理,则还包括相关的工程信息。 **3. 平台设置** - **模板管理**:允许用户自定义各种模板,如单据模板、报表模板等。 - **流程平台**:用于定义业务流程,实现自动化处理...

    物业管理系统主要功能点介绍 (2).pdf

    17. 系统维护管理:包括系统初始化、编码、权限、日志、数据备份恢复和清理,确保系统稳定运行。 这些功能共同构建了一个全面的物业管理系统,为物业企业提供了一个集成化的解决方案,实现了业务流程的自动化和信息...

Global site tag (gtag.js) - Google Analytics