自定义log4j2的PatternLayout参数
1.添加类
package com.yuanian.micro.config;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.pattern.ConverterKeys;
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
import org.apache.logging.log4j.core.pattern.PatternConverter;
/**
* @author liujy
* @date 2019/12/18 16:46
* 增加serviceName到日志的pattern
**/
@Plugin(name = "ServiceNamePatternConverter", category = PatternConverter.CATEGORY)
@ConverterKeys({"s", "serviceName"})
public class ServiceNamePatternConverter extends LogEventPatternConverter {
private String SERVICENAME = "ms-job-console";
private static final ServiceNamePatternConverter INSTANCE =
new ServiceNamePatternConverter();
public static ServiceNamePatternConverter newInstance(
final String[] options) {
return INSTANCE;
}
private ServiceNamePatternConverter() {
super("serviceName", "serviceName");
}
@Override
public void format(LogEvent logEvent, StringBuilder toAppendTo) {
toAppendTo.append(SERVICENAME);
}
}
- 修改log4j2.yml文件,添加变量Configuration.packages为刚才创建类所在的包
Configuration:
status: warn
packages: com.yuanian.micro.config
3.在log4j2.yml中使用自定义的参数
Configuration:
status: warn
packages: com.yuanian.micro.config
Appenders:
Console: #输出到控制台
name: CONSOLE
target: SYSTEM_OUT
ThresholdFilter:
level: info
onMatch: ACCEPT
onMismatch: DENY
PatternLayout:
pattern: "%d %p %c [serviceName = %s] [Class = %c] [File = %F] [Line = %L] [Method = %M] [%t] %m%n"
4.效果如下:
2019-12-18 17:24:00,183 WARN com.alibaba.cloud.nacos.client.NacosPropertySourceBuilder [serviceName = ms-job-console] [Class = com.alibaba.cloud.nacos.client.NacosPropertySourceBuilder] [File = NacosPropertySourceBuilder.java] [Line = 86] [Method = loadNacosData] [main] Ignore the empty nacos configuration and get it based on dataId[ms-job-console] & group[DEFAULT_GROUP]
5.不可以把参数定义重复,log4j2自定义的参数可以参考下面的地址 https://blog.csdn.net/guoquanyou/article/details/5689652
本文参考链接:https://www.cnblogs.com/zr520/p/6406443.html
自定义log4j2的PatternLayout参数的更多相关文章
- java自定义注解实现前后台参数校验
2016.07.26 qq:992591601,欢迎交流 首先介绍些基本概念: Annotations(also known as metadata)provide a formalized way ...
- asp.net core参数保护之自定义要保护的参数类型
asp.net core参数保护之自定义要保护的参数类型 Intro 为了实现 asp.net core 下的参数保护,扩展了asp.net core 中 DataProtection,可以自动化的保 ...
- Log4net PatternLayout 参数
Log4net PatternLayout 参数 来自: https://logging.apache.org/log4net/log4net-1.2.13/release/sdk/log4net.L ...
- spring boot自定义log4j2日志文件
背景:因为从 spring boot 1.4开始的版本就要用log4j2 了,支持的格式有json和xml两种格式,此次实践主要使用的是xml的格式定义日志说明. spring boot 1.5.8. ...
- ZABBIX自定义用户KEY与参数USERPARAMETERS监控脚本输出
zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求.幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据. 定义配置文件 通过yum安装的z ...
- 转:绝对干货--WordPress自定义查询wp_query所有参数详细注释
<?php /** * WordPress 查询综合参考 * 编译:luetkemj - luetkemj.com * * 官方文档: http://codex.wordpress.org/Cl ...
- Flask 自定义过滤器多个参数传入
非完整HTML文件: <div class="container" style="margin-top:50px;"> <div class= ...
- log4j - 输出格式控制, PatternLayout参数含义以及详细配置
转载自:https://blog.csdn.net/reserved_person/article/details/52849505 做项目被log4j的输出格式化参数搞烦了,索性把API的相关部分大 ...
- [MVC] 自定义ActionSelector,根据参数选择Action
很多时候我们会根据UI传入的参数,呈现不同的View.也就是对于同一个Action如何根据请求数据返回不同的View.通常情况下我们会按照如下方法来写,例如: [AcceptVerbs(HttpVer ...
- Log4j输出格式log4j的PatternLayout参数含义
摘自:http://logging.apache.org/log4j/docs/api/org/apache/log4j/PatternLayout.html 参数 说明 例子 %c 列出logger ...
随机推荐
- 【DataBase】MySQL 27 函数
一.概述 函数 Function,存储过程的用途一致,减少程序逻辑,和数据库服务的连接次数,提高效率 简化操作,提高SQL重用性 函数 和 存储过程的区别? 存储过程允许多个返回的数据,函数只允许一个 ...
- 【Uni-APP】02 FLEX 弹性布局
新建一个项目: 注释所有内容: <template> <!-- <view class="content"> <image class=&quo ...
- 国产的AI基础设施与国外的差距?仅以grpc与prpc做比较
搞AI,基础设施包括软件.硬件以及相关生态,多方面,这里只片面的取一个例子来说明国内外在AI基础设施上的区别,注意,这里只是片面截取. 高性能的rpc框架是搞AI的一个基础依赖软件,当然,国外也有与之 ...
- Windows 修改本地hosts文件
在在使用win下面的一些php集成开发工具的时候(比如 phpstudy wampserver等) 有时候会有这样的需求:我不想通过localhost/xxx/xxx/xxx.php 这样的方式访问我 ...
- 从零到一:用Go语言构建你的第一个Web服务
使用Go语言从零开始搭建一个Web服务,包括环境搭建.路由处理.中间件使用.JSON和表单数据处理等关键步骤,提供丰富的代码示例. 关注TechLead,复旦博士,分享云服务领域全维度开发技术.拥有1 ...
- games101 作业4及作业5 详解光线追踪框架
games101 作业4及作业5 详解光线追踪框架 作业4 代码分析 作业四的代码整体比较简单 主要流程就是 通过鼠标事件 获取四个控制点的坐标 然后绘制贝塞尔曲线的内容就由我们来完成 理论分析 贝塞 ...
- 麒麟系统ARM架构下MySQL5.7离线安装,搭建主从集群
一.检查本机操作系统 #一定要注意查看本机的操作系统,是amd(x86)还是arm(aarch)架构 $ uname -a Linux Server-58aa6d9e-9412-4ab6-b496-2 ...
- 掌握Java面向对象OOP篇(一)
掌握面向对象OOP篇(一) 边学边记 -- OOP(Object Orientated Programing) 1. 为什么要引入面向对象? 原因:封装.继承.多态 举个例子理解面向对象代码的好处: ...
- 折腾 Quickwit,Rust 编写的分布式搜索引擎-官方教程
快速上手 在本快速入门指南中,我们将安装 Quickwit,创建一个索引,添加文档,最后执行搜索查询.本指南中使用的所有 Quickwit 命令都在 CLI 参考文档 中进行了记录. https:// ...
- TeX、LaTeX、XeTeX 和 XeLaTeX 之间的关系
TL;DR 总的来说,在 TeX 世界有两个主要概念,一个是 TeX,一个是 LaTeX.TeX 是一个排版引擎,它为用户提供的排版命令较为底层.LaTeX 是在 TeX 的基础上制作的宏包,它可以让 ...