log4j Layout简介说明

2023-11-13

转自:

log4j Layout简介说明

下文笔者讲述log4j的简介说明,如下所示:

log4j Layout的功能

log4j Layout主要用于日志数据格式化,它有以下三种形式

HTMLLayout

将日志格式化为HTML表格形式 html格式如下:

<table cellspacing="0" cellpadding="3" border="1" bordercolor="red" width="100%">
    <tr>
        <th>Time</th>
        <th>Thread</th>
        <th>Level</th>
        <th>Category</th>
        <th>Message</th>
    </tr>
    <tr>
        <td>0</td>
        <td title="main thread">main</td>
        <td title="Level">INFO</td>
        <td title="com.java265.Test category">com.Test</td>
        <td title="Message">普通Info信息</td>
    </tr>
    <tr>
        <td>2</td>
        <td title="main thread">main</td>
        <td title="Level"><font color="red"><strong>FATAL</strong></font></td>
        <td title="com.java265.Test category">com.Test</td>
        <td title="Message">严重错误fatal信息</td>
    </tr>
    <tr>
        <td>3</td>
        <td title="main thread">main</td>
        <td title="Level"><font color="red"><strong>ERROR</strong></font></td>
        <td title="com.java265.Test category">com.Test</td>
        <td title="Message">报错信息</td>
    </tr>
    <tr>
        <td bgcolor="red" style="color:White; font-size : xx-small;" colspan="3">java.lang.IllegalArgumentException: 非法参数
<br>     at com.Test.main(Test.java:17)
        </td>
    </tr>
</table>

SimpleLayout

简单的日志输出格式化,打印的日志格式为(info - message),格式如下:

log.debug("java265.com----is my website");
log.info("java265.com----is my website");

//输出
DEBUG - java265.com----is my website
INFO - java265.com----is my website

PatternLayout

最强大的格式化期,可以根据自定义格式输出日志
当没有指定转换格式
就采用默认的转换格式

%c %c{数字} 输出日志器的名称

1:日志器名称为:com.java265.Test1
%c | %c{1} | %c{2} | %c{3} | %c{4}分别输出com.java265.Test1 | Test1 | java265.Test1 | com.java265.Test1 | com.java265.Test1
2:%C %C{数字} 输出调用者的名称
3:%d 输出打印日志的日期时间
常用的格式有 %d{DATE}, %d{ABSOLUTE}, %d{HH:mm:ss,SSS}, %d{ddMMyyyy HH:mm:ss,SSS}
4:%n - 换行   
5:%m - 日志内容      
6:%p - 日志级别(FATAL,   ERROR,   WARN,   INFO,   DEBUG   or   custom)       
7:%r - 程序启动到现在的毫秒数      
8:%t - 当前线程名      
9:%l - 同 %F%L%C%M   
10:%F - java源文件名   
11:%L - java源码行数   
12:%C - java类名,%C{1} 输出最后一个元素   
13:%M-java方法名 

log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{HH\:mm\:ss\:SSS}][%p] (%c\:%L) - %m%n 

输出:
输出格式为:[00:23:46:210][INFO] (com.web.action:35) - 服务器启动
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

log4j Layout简介说明 的相关文章

  • 清理 Tomcat 访问日志条目

    在我们的日志中 我们看到信用卡号码是由于人们使用 CC 信息点击我们应用程序中的一些 ULR 我不知道他们为什么这样做 我们希望清理这些信息 出于 PCI 考虑 甚至不将其保存到磁盘 因此 我希望能够在日志条目到达日志文件之前对其进行清理
  • 将 logback.xml 转换为 log4j.properties

    如何将此 logback xml 转换为等效的 log4j properties
  • log4j编码utf8

    我使用 Java 和 Log4j 我想记录一个带有德语特殊字符的字符串 例如 等 但在我的日志文件中它看起来像这样
  • Log4j2 模拟 Appender

    我有一堂课 其中我获取了所有属性 并在登录之前隐藏了它们的密码 Override public void afterPropertiesSet throws Exception Properties loadedProperties thi
  • 多模块 Maven 项目中的 log4j

    如何在多模块 Maven 项目中实现 log4j 我是否将 log4j properties 文件添加到每个子模块的 src main resources 目录中 如果是这样 我是否必须为每个文件附加器指定不同的输出文件 或者有没有一种方法
  • 配置 log4j 时 Log4jConfigListener 和 Log4jServletContextListener 之间的区别

    我正在尝试使用 log4j 日志记录在 tomcat 中部署 spring web 应用程序 根据我通过阅读 log4j 配置看到的内容 您可以按如下方式执行此操作
  • Log4j:如何配置最简单的文件日志记录?

    我的故事 我想做一个像最简单的 log4j 记录器一样简单的东西 它将行记录到文件中 我找到了几个具有某些功能的示例 但不是一个真正有效的基本 通用的示例 也没有一个解释每一行如何工作的示例 问题 有人可以提供一份吗 先决条件 我已经知道该
  • 如何让 log4j 根据日期和大小滚动文件?

    因此 log4j 附带了两个现有的日志滚轮 RollingFileAppender 和 DailyRollingFileAppender 有没有人听说过一个附加器可以完成前者的两种功能 我需要一个附加程序 它可以根据文件大小滚动日志文件 但
  • log4j 不打印异常的堆栈跟踪

    我正在使用 log4j 和 tomcat 当我在 JSP Servlet 中记录异常时 private Logger log Logger getLogger this getClass try catch Exception e log
  • 用户主目录中的 log4j 日志文件

    我正在开发一个可以在 OSX 和 Windows 上运行的应用程序 我希望将日志写入用户主目录 对于 OSX 它将位于 Users Library Application Support MyApp log 目录下 而在 Windows 下
  • 在 Spark java 应用程序中使用 log4j2

    我正在尝试使用 log4j2我的 Spark 工作中的记录器 基本要求 log4j2 配置位于类路径之外 因此我需要明确指定其位置 当我直接在 IDE 中运行代码而不使用spark submit log4j2效果很好 但是 当我使用以下命令
  • 如何缓解 Apache Log4j 反序列化 RCE (CVE-2019-17571)

    我已将 log4j core 依赖项升级到 2 15 0 以防止任何潜在的 Log4Shell 攻击 话虽如此 我无法从 1 2 17 升级 slf4j log4j12 的间接 log4j 依赖项 因为 slf4j log4j12 的最新稳
  • Logback 附加程序将消息作为 HTTP 消息发布

    根据我的要求 我只想将 HTTP 消息发布到另一端 该消息由org slf4j LoggerFactory getLogger 以下 JSON 字符串记录在INFO level studentName My Name Deratment C
  • 如何禁用 Spring 日志记录 DEBUG 消息?

    我正在开发一个简单的桌面应用程序 不是网络应用程序 这是我的log4j properties log4j rootCategory INFO stdout log4j appender stdout org apache log4j Con
  • Log4j2 ThreadContext 映射不适用于parallelStream()

    我有以下示例代码 public class Test static System setProperty isThreadContextMapInheritable true private static final Logger LOGG
  • 有没有一种简单的方法来为每个类创建一个记录器实例?

    我现在使用静态方法来记录 因为我发现在Android中登录非常容易 但是现在我需要为不同的类配置不同的appender 所以我对静态记录方法有一个问题 我读了Log4J 创建 Logger 实例的策略 https stackoverflow
  • 如何使用 Jboss AS 7.1 启用自定义 log4j

    我尝试了几种选择 但一切对我都不起作用 以前 我在 Tomcat 6 7 中使用了相同的 log4j xml 简单的通用配置 并且我可以通过更新 log4j xml 来控制根日志记录和应用程序日志记录 当我使用 JBoss AS 7 1 部
  • 如果未安装 Java,您是否可以免受 log4j CVE-2021-44228 的影响?

    我已经阅读了很多关于这个问题有多严重的内容 并了解了在我们公司正在生成的代码中找到它的可用选项 并更新了使用易受攻击版本的服务器 我无法找到的是特定服务器是否未安装 Java 即如果我以 root 身份登录并运行java version并得
  • java:如何设置全局线程ID?

    是否有可能为线程设置唯一ID 在分布式系统中 线程是在许多不同的机器上创建的 例如通过 RMI 我需要它来创建日志消息 根据我的研究 我知道可以使用 log4j mdc ndc 来完成 但只能在单线程中完成 我的问题是 在创建线程时必须设置
  • 覆盖hadoop中的log4j.properties

    如何覆盖hadoop中的默认log4j properties 如果我设置 hadoop root logger WARN console 它不会在控制台上打印日志 而我想要的是它不应该在日志文件中打印 INFO 我在 jar 中添加了一个

随机推荐

  • Linux df -h 显示磁盘空间满,但实际未占用满——问题分析

    问题现象 工作中遇到一个问题 在 TX2 系统上 告警提示磁盘空间不够 如图所示 wohu wohu df h Filesystem Size Used Avail Use Mounted on dev root 28G 28G 0 100
  • 关于个人vs调试时“字符串中字符无效“的处理办法

    一开始选中要监视的字符串那一行开始调试时出现字符串中字符无效 后来瞎猫碰到死耗子 选中被监视的下一行时竟然就可以了 希望对大家有帮助 不过原理我不太懂我也是个小白 希望评论区有大佬给我提点提点背后的原理是啥
  • Arnold置乱变换的代码实现与置乱度分析

    1 传统Arnold置乱变换算法简介 Arnold置乱变换 又称为cat映射 是一种基于古典密码体制的图像加密算法 本质上是对长宽相等的图像进行拉伸与折叠操作以改变空间中像素点的位置 从而破坏图像相邻像素点之间的相关性 它的安全性较低 易利
  • 递归查找三级菜单以及Stream流filter()与map()的用法

    查询策略 需求 查询三级菜单 按层级返回并排序 1 给实体类添加字段 用来封装子菜单 TableField exist false 不映射数据库字段 TableField exist false private List
  • Docker私有仓库部署记录

    Docker私有仓库部署记录 原创 一 介绍 1 SSL证书安装部署 2 准备docker环境 3 私有仓库不同方式的部署 二 CA证书安装部署 1 获取SSL证书 可以通过各种云平台购买 或者申请短期免费SSL证书 或者自签证书 再或者使
  • python---迭代器, for循环底层原理

    目录 何为迭代 可迭代对象 迭代器对象 迭代器的优缺点 优点 缺点 for循环底层原理 迭代取值与索引取值对比 何为迭代 迭代器即用来迭代取值的工具 而迭代是重复反馈过程的活动 其目的通常是为了逼近所需的目标或结果 每一次对过程的重复称为一
  • Python+Selenium中级篇之3-二次封装Selenium中几个方法

    本文来介绍 如何把常用的几个webdriver的方法封装到自己写的一个类中去 这个封装过程叫二次封装Selenium方法 我们把打开站点 浏览器前进和后退 关闭和退出浏览器这这个方法封装到一个新写的类中去 我们按照如下层次结构在PyChar
  • Linux安全防护

    Linux高级运维 L014 2019年尚硅谷Linux运维全套视频 基本命令
  • 用本地机做跳板使服务器连接外网【mac】

    用自己的电脑做跳板使服务器连接外网 前提 整体流程 连接服务器 配置服务器 配置自己的电脑 前提 很多时候我们的服务器只能联内网 但是没法登外网 这样pip conda 啥的都没法用 很麻烦 一个简单的解决方法就是用自己的电脑作为跳板机 让
  • python读取excel数据

    文章目录 测试样本 python代码 对列表的行或列进行选取 测试样本 另存为文本文档 制表符分隔 类型 自己命名 python代码 from numpy import table with open test1 txt as f for
  • 高云FPGA系列教程(基于GW1NSR-4C TangNano 4K开发板)

    文章目录 TOC 已完成 待完成 已完成 国产FPGA高云GW1NSR 4C 集成ARM Cortex M3硬核 高云FPGA系列教程 1 FPGA和ARM开发环境搭建 高云FPGA系列教程 2 FPGA点灯工程创建 程序下载和固化 高云F
  • React面试题汇总

    1 面试官 说说对 React 的理解 有哪些特性 React遵循组件设计模式 使用虚拟 DOM 来有效地操作 DOM 遵循从高阶组件到低阶组件的单向数据流 React 特性有很多 如 JSX 语法 单向数据绑定 虚拟 DOM 声明式编程
  • 【深度学习】 - 作业7: 图像超分辨率重建

    课程链接 清华大学驭风计划 代码仓库 Victor94 king MachineLearning MachineLearning basic introduction github com 驭风计划是由清华大学老师教授的 其分为四门课 包括
  • web端上传图片时 图片被旋转问题

    有些时候在web端上传图片会遇到这种情况 正向的图片 上传预览时就被旋转了 发生这种情况是因为 照片中包含很多属性来记录拍摄信息 想要读取这些属性 需要引入EXIF 可在npm上搜索exif js下载 EXIF中 包含一个Orientati
  • Qt内存管理及泄露后定位到内存泄漏位置的方法

    Qt内存管理机制 Qt使用对象父子关系进行内存管理 在创建类的对象时 为对象指定父对象指针 当父对象在某一时刻被销毁释放时 父对象会先遍历其所有的子对象 并逐个将子对象销毁释放 Qt内存管理代码示例 QLabel label new QLa
  • Linux 查找文件(find命令/locate命令)

    目录 一 find 我的东西在哪 二 更快速地定位文件 locate命令 一 find 我的东西在哪 随着文件增多 我们有时候记住某个文件放在哪个文件夹下了 此时搜索工具显得非常有用了 而find就是这样一个命令 可以帮助我们在指定范围内查
  • 多对一的4种查询方式

    多对一的概念在数据库中是十分常见的 下面将以多个学生对应一个老师的例子介绍4种多对一的查询方式 一 建立数据库 首先建立2种表 一种是teacher表 其中包含的字段有id 主键 name 一种是student表 其中包含的字段有id 主键
  • rsa加密

    public static class RSAHelper private static string privateKey private static string publicKey public static string GetP
  • LLMs的自动化工具系统(HuggingGPT、AutoGPT、WebGPT、WebCPM)

    在前面两篇博文中已经粗略介绍了增强语言模型和Tool Learning 本篇文章看四篇代表性的自动化框架 HuggingGPT AutoGPT WebGPT WebCPM Augmented Language Models 增强语言模型 T
  • log4j Layout简介说明

    转自 log4j Layout简介说明 下文笔者讲述log4j的简介说明 如下所示 log4j Layout的功能 log4j Layout主要用于日志数据格式化 它有以下三种形式 HTMLLayout 将日志格式化为HTML表格形式 ht