当前位置: 首页 > news >正文

log4j2基本操作

为什么80%的码农都做不了架构师?>>>   hot3.png

log4j2基本操作:

1、导入log4j2的jar包(log4j-core-2.7.jar,log4j-api-2.7.jar)

2、创建logger对象

	 //创建logger对象
	 private static final Logger logger = LogManager.getLogger(NamedHierarchy.class);

3、编写相应的日志

		String log2 = "log4j2";
		/**
		 * 可以为日志设定不同的级别
		 * 在log4j2中:trace<debug<info<warn<error<fatal
		 */
		logger.trace("TRACE:"+log2);
		logger.debug("DEBUG:"+log2);
		logger.info("INFO:"+log2);
		logger.warn("WARN:"+log2);
		logger.error("ERROR:"+log2);
		logger.fatal("FATAL:"+log2);

4、编写日志配置文件(log4j2.xml)

<?xml version="1.0" encoding="UTF-8"?>
<!-- 定时检查配置文件是否变化并根据变化重新加载,其中30指30秒 -->
<Configuration status="WARN" monitorInterval="30">
	<!-- 先定义所有的appender -->
	<Appenders>
		<!-- 输出控制台的配置 -->
		<Console name="Console" target="SYSTEM_OUT">
			<!-- 日志的输出格式 -->
			<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
		</Console>
		<!-- 输出日志到文件 -->
		<!-- Append:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。   -->
		<!-- bufferedIO和bufferSize表示将日志内容缓存到bufferSize大小后写入文件 -->
		<File name="MyFile" append="true" fileName="logs/mylog.log"
			bufferedIO="true" bufferSize="512">
			<PatternLayout>
				<Pattern>%d{MM-dd-yyyy} %p %c{1.} [%t] %m%n</Pattern>
			</PatternLayout>
		</File>
	</Appenders>
	<!-- 然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
	<Loggers>
		<!-- 不希望LogEvent被按命名层次分别处理,增加additivity="false" -->
		<Logger name="org.pm.spring" level="trace" additivity="false">
			<AppenderRef ref="Console" />
		</Logger>
		<!-- 建立一个默认的root的logger -->
		<Root level="error">
			<AppenderRef ref="Console" />
			<AppenderRef ref="MyFile" />
		</Root>
	</Loggers>
</Configuration>

 

转载于:https://my.oschina.net/pmos/blog/790152

相关文章:

  • docker-gitlab
  • 让mysqldump变成并发导出导入的魔法
  • kafka术语
  • 《深入 React 技术栈》
  • 聊聊 Redis 使用场景
  • 四: 基本标签
  • 离线安装 Python 2.7, paramiko 和 tornado
  • 线程组
  • Android图表库MPAndroidChart(十一)——多层级的堆叠条形图
  • Odoo 二次开发教程(五)-新API的介绍与应用
  • 代码托管工具 git
  • How can I determine the URL that a local Git repository was originally cloned from?
  • Idea14解决JSP/JS文件需要重启问题解决
  • 解决Ubuntu Kylin 1610安装ANSYS17.2的NVIDIA显卡驱动问题
  • java设置代理的几种方式
  • 时间复杂度分析经典问题——最大子序列和
  • [译] React v16.8: 含有Hooks的版本
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • Django 博客开发教程 16 - 统计文章阅读量
  • iOS 系统授权开发
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • java第三方包学习之lombok
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • js算法-归并排序(merge_sort)
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • magento 货币换算
  • MySQL用户中的%到底包不包括localhost?
  • nodejs:开发并发布一个nodejs包
  • Vue组件定义
  • 阿里研究院入选中国企业智库系统影响力榜
  • 关于extract.autodesk.io的一些说明
  • 观察者模式实现非直接耦合
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 区块链分支循环
  • 手写一个CommonJS打包工具(一)
  • # Panda3d 碰撞检测系统介绍
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • $(selector).each()和$.each()的区别
  • (2.2w字)前端单元测试之Jest详解篇
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (学习日记)2024.01.09
  • *** 2003
  • *2 echo、printf、mkdir命令的应用
  • ./configure、make、make install 命令
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET 事件模型教程(二)
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET构架之我见
  • .Net开发笔记(二十)创建一个需要授权的第三方组件