Log4j学习

眉间皱痕 提交于 2020-02-17 15:40:34

Log4j的作用和级别

log4j的作用

		什么是日志:
			日志是系统运行过程中后台输出信息,方便程序员进行系统运行的管控以及Bug的查找
		什么是Log4j?
			Log4j是一个日志输出的插件,专门用来进行日志管理的。
		传统方式获取日志:
			使用System.out.println()语句进行后台打印
			问题:
				1.日志信息文法保存
				2.无法显示完整的日志信息
				3.日志的显示没有级别,所有的日志混杂在一起显示(无法进行日志信息的筛选)
				4.日志显示格式不友好
			解决:使用Log4j
		使用Log4j进行日志管理:
			特点:
				1.日志可以单独保存在文件中
				2.可以获取完整日志信息
				3.可以进行日志显示的筛选
				4.格式友好

Log4j的级别

	Log4j的日志级别:
				FATAI		致命的错误
				ERROR		普通的错误
				WARN		警告
				INFO		信息(方法级别)
				DEBUG		调试(代码级别)

配置文件解释

		Log4j的配置文件解释:
			注意:配置文件一定要存放在src下,并命名为log4j.properties
			//设置全局默认配置				
				log4j.rootCategory=DEBUG, CONSOLE	日志级别,日志输出位置
			//设置某包或者某个类或者某个方法的日志级别和输出位置
				log4j.logger.包名=FATAL, CONSOLE	 日志级别,输出位置
				log4j.logger.包名.类名=FATAL, CONSOLE
				log4j.logger.包名.类名.方法名=DEBUG, CONSOLE
			//设置控制台输出配置
				log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
				log4j.appender.CONSOLE.Threshold=ERROR
				log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
				log4j.appender.CONSOLE.layout.ConversionPattern=%p-%d{yyyy/MM/dd hh:mm:ss}-%l-%m%n
			//设置文件输出配置
				log4j.appender.LOGFILE=org.apache.log4j.FileAppender
				log4j.appender.LOGFILE.File=E:/mylog.log
				log4j.appender.LOGFILE.Append=true
				log4j.appender.LOGFILE.Threshold=INFO
				log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
				log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5r %c %x - %m%n
			//常用的输出格式
				%p-%d{yyyy/MM/dd hh:mm:ss}-%l-%m%n
				

Log4j自定义输出格式

自定义样式     
	%c 输出所属的类目,通常就是所在类的全名   
	%C 输出Logger所在类的名称,通常就是所在类的全名   
	%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},%d{ABSOLUTE},%d{DATE}  
	%F 输出所在类的类名称,只有类名。  
	%l 输出语句所在的行数,包括类名+方法名+文件名+行数  
	%L 输出语句所在的行数,只输出数字  
	%m 输出代码中指定的讯息,如log(message)中的message  
	%M 输出方法名  
	%p 输出日志级别,即DEBUG,INFO,WARN,ERROR,FATAL  
	%r 输出自应用启动到输出该log信息耗费的毫秒数  
	%t 输出产生该日志事件的线程名  
	%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”  
	%% 用来输出百分号“%”  

Log4j的使用流程

Log4j的使用流程:
	导入Log4j的jar包
	配置Log4j的配置文件
	在使用Log4j的类中声明全局的变量
		public static Logger logger = Logger.getLogger(类名.class);					
	使用Logger对象调用日志方法进行日志输出语句的声明
		logger.debug("我是bug信息");//一般在方法内部使用
		logger.info("我是info信息");//一般在调用方法使用
		logger.warn("我是警告信息");//一般在需要警告的位置使用
		logger.error("我是错误信息");//在catch代码块中使用
		logger.fatal("我是致命的错误信息");//在catch代码块中使用
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!