log4j日志输出框架

时间:2022-06-22 01:30:29

什么是log4j框架呢?

log4j是一个日志输出框架,用于输出日志的。比如MyBatis的日志就是通过log4j输出的,主流框架都是log4j输出的,Spring框架

也可以通过log4j输出日志!!

log4j的功能类似于System.out.println(),那为什么要用log4j呢?

因为它提供了强大的日志输出的自定义功能。

1.通过及级别输出日志(调试DEBUG、信息INFO、警告WRAN、错误ERROR、致命错误FATAL)

2.可以指定输入到控制台,输入到文件。

3.可以设置输出的日志格式

log4j框架的配置及测试代码

1.导入log4j的jar包

log4j日志输出框架

2.在src下创建一个log4j.propertis文件

注意:文件名必须为log4j.propertis

#log4j的声明,格式为:log4j.rootLogger=输出等级,输出策略名1,输出策略名2,输出策略名3....
##输出日志等级选项
##DEBUG 调试输出日志
##INFO 信息输出日志
##WARN 警告输出日志
##ERROR 错误输出日志
##FATAL 致命错误输出日志
log4j.rootLogger=DEBUG,A1,A2,A3 #A1策略的声明
##指定输出的类型(类全限制名),ConsoleAppender表示控制台输出
##ConsoleAppender 控制台输出
##FileAppender 通过文件输出
##DailyRollingFileAppender 以文件输出,每天产生一个日志文件
##RollingFileAppender 以指定的大小来产生一个日志文件
##WriterAppender 以流的方式输出文件到指定的设备 log4j.appender.A1=org.apache.log4j.ConsoleAppender
##指定该类型的一些属性,layout,值的是使用声明格式输出
##PatternLayout,自定义输出日志的格式
##HTMLLayout ,使用HTML文件输出
##SimpleLayout ,包含日志信息的级别和信息字符串
##TTCCLayout ,包含日志产生的时间、线程、类别等等信息
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
##设置自定义的输出格式规则
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n #A2策略的声明
log4j.appender.A2=org.apache.log4j.FileAppender
##创建文件路径
log4j.appender.A2.file=e:/log/lo4j.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n #A3策略的声明
log4j.appender.A3=org.apache.log4j.FileAppender
log4j.appender.A3.file=e:/log/lo4j.html
log4j.appender.A3.layout=org.apache.log4j.HTMLLayout

测试代码:

package cn.sebb;

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger; public class Log4jTest { public static void main(String[] args) {
//获得Logger对象,输出日志,LogManager对象默认获得的配置文件是classpath根目录的log4j.properties文件
//日志的级别:DEBUG < INFO < WARN < ERROR < FATAL
//日志输出,根据配置的最低级别输出
Logger logger=LogManager.getLogger(Log4jTest.class);
//什么时候写debug,当我们需要通过调试信息分析逻辑时,将调试信息写在DEBUG级别里面
logger.debug("调试日志");
//什么时候写info,希望在试运行的时候,输出的调试信息
logger.info("信息日志");
//代码可以会出现问题的地方,设置警告日志
logger.warn("警告日志");
//报异常的时候,我们使用错误日志
logger.error("错误日志");
//特别重要的错误信息
logger.fatal("致命错误日志");
} }

log4j日志输出框架的更多相关文章

  1. log4j日志输出级别变更

    1.   现阶段log4j日志输出配置 示例:基础服务日志配置 #DEBUG < INFO < WARN < ERROR < FATAL\u65E5\u5FD7\u7684\u ...

  2. 在android中配置 slf4j &plus; log4j 日志记录框架

    需求: 在项目开发中,需要记录 操作日志 .起初自己写了个简单的日志记录文本写入到文本的方法,后来随着项目的膨胀,需要考虑更多的操作,开始考虑性能问题. 实现: 考虑使用 slf4j + log4j ...

  3. web项目Log4j日志输出路径配置问题

    问题描述:一个web项目想在一个tomcat下运行多个实例(通过修改war包名称的实现),然后每个实例都将日志输出到tomcat的logs目录下实例名命名的文件夹下进行区分查看每个实例日志,要求通过尽 ...

  4. log4j日志输出到web项目指定文件夹

    感谢 eric2500 的这篇文章:http://www.cxyclub.cn/n/27860/ 摘要:尝试将log4j的文件日志输出到web工程制定目录,遇到了很多问题,最终在eric2500的指导 ...

  5. log4j日志输出使用教程

    Log4j是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优先级.日志信息的输出目的地以及日志信息的输出格式.Log4j除了可以记录程序运行日志信息外还有一 ...

  6. log4j日志输出性能优化-缓存、异步

     转载 1.log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位.由于日志级别的不同,对系 ...

  7. log4j日志输出到日志文件中和控制台中 &plus;log4j配置详解

    1.引入log4j的jar包 https://mvnrepository.com/,可以找到log4j的jar和依赖. 2.创建log4j.properties,并配置log4j #设置日志的级别 , ...

  8. log4j日志输出使用&lowbar;1

    转自https://www.cnblogs.com/sky230/p/5759831.html Log4j是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优 ...

  9. iOS开发进阶 - 日志输出框架CocoaLumberjack与XcodeColors插件的简单使用(swift版)

    CocoaLumberjack是Mac和iOS上一个集快捷.简单.强大和灵活于一身的日志框架.XcodeColors是用于控制台着色的工具,配合着CocoaLumberjack用有更好的效果,不废话, ...

随机推荐

  1. 1password密码库格式更新

    由于国内网络安全做的太差,经常发生被脱裤的事件,比如最近的网易邮箱(via 乌云),所以只好用1password这类密码管理软件,实现一站一密.昨晚半夜冻醒了,刷推刷到了这个:1password-le ...

  2. MS SQLSERVER 存儲過程與緩存

    提升SQL Server最具性能的一个方面就是存储过程,SQL Server具备执行计划的缓存功能,以便计划重用.SQL Server2000增强了ad-hoc执行计划的缓存功能,就处理存储过程上性能 ...

  3. 【读书笔记】iOS网络-使用推送通知

    一,本地通知 本地通知有64位的最大限制.虽然,你依然可以调度通知,不过到到达的通知数被限定为接近64个,并且按照fireDate的顺序排序,系统会忽略掉其余的通知.这意味着如果现在有64个调用的本地 ...

  4. redmine &plus; apache &plus; mod&lowbar;fcgid

    redmine默认是用webrick启动的,这种方法不适合生产环境,最好部署在apache下,本文介绍如何通过mod_fcgid启动. 首先要有一个能够启动的redmine,可以通过我之前的博文查看: ...

  5. UVa 1025 A Spy in the Metro(动态规划)

    传送门 Description Secret agent Maria was sent to Algorithms City to carry out an especially dangerous ...

  6. 【C语言入门教程】1&period;2 函数库 和 链接

    程序员可以不需要从头开始设计每一个函数,完成用C语言命令所实现的函数非常罕见.因为所有的C语言编辑器都提供能完成各种常见任务函数,如printf()函数等.C语言编译器的实现者已经编写了大部分常见的通 ...

  7. 遍历所有的选中的radio的个数和值

         var ID = "";             $('input:radio:checked').each(function (i) {                 ...

  8. &lbrack;札记&rsqb;IL经典指令解析之方法调度

    call.callvirt和calli指令用于完成方法调用,有何区别呢? 1)call使用静态调度,也就是根据引用类型的静态类型来调度方法.call指令根据引用变量的类型来调用方法,因此通常用于调用非 ...

  9. TigerDLNA for ios 集成Tlplayer

    好久没有写博客了,这次带着TigerDLNA for ios 跟大家见面 什么都不说先上图 1.优点 优点由于libTigerDLNA使用uiview封装,所以大家可以很方便的集成到自己的项目中.由于 ...

  10. 电商ERP常见功能模块

      电商ERP是适用企业卖家的专业电子商务ERP,支持淘宝.天猫.京东.1688.当当.苏宁.拍拍.唯品会.亚马逊.独立B2C等多网络销售渠道:也包括 异地多仓..货位管理.智能配货等专业的WMS(仓 ...