什么是log4j框架呢?

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

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

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

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

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

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

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

log4j框架的配置及测试代码

1.导入log4j的jar包

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 + 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日志输出到日志文件中和控制台中 +log4j配置详解

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

  8. log4j日志输出使用_1

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

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

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

随机推荐

  1. spring官网上下载历史版本的spring插件,springsource-tool-suite

    spring官网下载地址(https://spring.io/tools/sts/all),历史版本地址(https://spring.io/tools/sts/legacy). 注:历史版本下载的都 ...

  2. VICA 架构设计

    本文记录最近完成的一个通用实时通信客户端的架构. 背景 我们公司是做税务相关的软件,有针对大客户 MIS 系统,也有针对中小客户的 SaaS 平台.这些系统虽然都是 B/S 的,但是也需要使用 Act ...

  3. React-Native采坑总结

    1.zIndex 在Android上使用zIndex来控制组件的层级,会遇到元素不显示的问题. 解决方案: 尽量改变组件的顺序,而不用zIndex 尽量不要使用zIndex来控制组件的层级,默认情况下 ...

  4. 解决git反复输入密码的问题

    打开git命令面板 cd到项目根目录 $ git config --global credential.helper store然后只输入一次密码,后面就不需要了

  5. 【Android】PreferenceActivity 详解

    PreferenceActivity是专业的设置界面,只要给它指定一个配置好的xml,它就能自动根据操作更改程序Preference的相应值. 首先要用一个xml文件来配置一个设置界面,也就是我们说的 ...

  6. for in和for of的区别(转)

    原文链接:https://www.jianshu.com/p/c43f418d6bf0 1 遍历数组通常用for循环 ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map.filte ...

  7. Selenium断言的使用,等待

    自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这 ...

  8. 辅助排序和Mapreduce整体流程

    一.辅助排序 需求:先有一个订单数据文件,包含了订单id.商品id.商品价格,要求将订单id正序,商品价格倒序,且生成结果文件个数为订单id的数量,每个结果文件中只要一条该订单最贵商品的数据. 思路: ...

  9. [jzoj]3456.【NOIP2013模拟联考3】恭介的法则(rule)

    Link https://jzoj.net/senior/#main/show/3456 Description 终于,在众亲们的奋斗下,最终boss 恭介被关进了库特设计的密室.正当她们松了一口气时 ...

  10. K个排序链表的合并(Hard)

    问题来源:选自leetCode 23:合并K个排序链表 问题描述: 题目给定信息: 不确定需要合并的链表的数目,但依然要求我们把给定的这些有序链表合并成一个链表,并且保证合并的链表依然是有序的. 问题 ...