log4j日志格式加入自定义字段信息方式

目录
  • log4j日志格式加入自定义字段信息
  • log4j2入库自定义字段类型
    • 官方API文档中只提供了几个属性
    • 设置isNumber=“true”

log4j日志格式加入自定义字段信息

在使用log4j日志的时候,有时需要在日志中加入自定义字段信息,例如在日志中加入登录用户的信息等,这时就可以使用org.apache.log4j.MDC来实现该功能:

1、在Action的方法中,直接使用

MDC.put("username",getUserInfo().getName());  //getUserInfo()获取登录用户信息

2、在log4j的配置文件中

%d{yyyy/MM/dd HH:mm:ss.sss}     [%X{username}]      [%-5p]     %c  -  %m%n

日志文件结果:

2013/11/29 18:00:25.025 [test] [ERROR] com.test.TestAction //红色test即为加入的用户信息

注意:红色部分必须保持一致

log4j2入库自定义字段类型

项目中数据库日志表含有number类型的字段,发现按照默认的方式只能存入字符串类型。网上也找不到相关的帮助信息。

官方API文档中只提供了几个属性

设置isNumber=“true”

尝试设置了属性 isNumber="true"竟然成功了,代码如下:

<!--写入数据库配置,在Logger中设置日志级别为error-->
          <JDBC name="databaseAppender" tableName="T_L_LOGINFO">
          <ConnectionFactory class="com.qxgc.utils.PoolManager" method="getConnection" />
          <Column name="ID" literal="SEQ_LOGINFO.NEXTVAL"/>
          <Column name="SERVICETYPEID" pattern="%X{sid}" isNumber="true"/>
          <Column name="RECTIME" isEventTimestamp="true"/>
          <Column name="USERID" pattern="%X{userid}" />
          <Column name="ACCESSIP" pattern="%X{ip}" />
          <Column name="CONTENT" pattern="%m"/>
          </JDBC>

测试登录接口后,看了下数据库,number类型的字段存进去了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • spring boot自定义log4j2日志文件的实例讲解

    背景:因为从 spring boot 1.4开始的版本就要用log4j2 了,支持的格式有json和xml两种格式,此次实践主要使用的是xml的格式定义日志说明. spring boot 1.5.8.RELEASE 引入log4j2的开发步骤如下: 1.首先把spring-boot-starter-web以及spring-boot-starter包下面的spring-boot-starter-logging排除,然后引入spring-boot-starter-log4j2包. <dependen

  • Log4j定时打印日志及添加模块名配置的Java代码实例

    配置间隔时间,定时打印日志  接到个需求,通过log4j定时打印日志,需求描述如下:需要能够定时打印日志,时间间隔可配.说到定时,首先想到了DailyRollingFileAppender类,各种定时,根据datePattern,这个可以参考类SimpleDateFormat类,常见的一些定时设置如下: '.'yyyy-MM: 每月 '.'yyyy-ww: 每周 '.'yyyy-MM-dd: 每天 '.'yyyy-MM-dd-a: 每天两次 '.'yyyy-MM-dd-HH: 每小时 '.'yy

  • Logback日志基础及自定义配置代码实例

    Logback日志基础配置 logback日志配置有很多介绍,但是有几个非常基础的,容易忽略的.下面是最简单的一个配置,注意加粗的描述 <?xml version="1.0" encoding="UTF-8"?> <configuration debug="true" scan="true" scanPeriod="30 seconds"> <!--log.path定义的是局部

  • java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)

    log4j输出多个自定义日志文件 如果在实际应用中需要输出独立的日志文件,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢? 先看一个常见的log4j.properties文件,它是在控制台和test.log文件中记录日志: 复制代码 代码如下: log4j.rootLogger=DEBUG, stdout, logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layo

  • log4j日志格式加入自定义字段信息方式

    目录 log4j日志格式加入自定义字段信息 log4j2入库自定义字段类型 官方API文档中只提供了几个属性 设置isNumber="true" log4j日志格式加入自定义字段信息 在使用log4j日志的时候,有时需要在日志中加入自定义字段信息,例如在日志中加入登录用户的信息等,这时就可以使用org.apache.log4j.MDC来实现该功能: 1.在Action的方法中,直接使用 MDC.put("username",getUserInfo().getName

  • Log4j日志分类和过滤敏感字段的实例

    项目上线时,需要对项目做安全检查,其中有两项是对输出日志进行分类和过滤掉日志中敏感字段. 项目使用Log4j日志系统,下面简单介绍下这两项要求的实现方式. 对日志进行分类,要求调用其他服务的API日志按照格式单独输出到一个文件. 方式: 除根Logger外,再额外增加一个apiLogger,如下, <!-- api logger的设置--> <logger name="log4j.logger.apiLogger" additivity="false&quo

  • 关于log4j日志扩展---自定义PatternLayout

    目录 log4j日志扩展---PatternLayout 这是log4j官网上的配置 下载官方文件发现有这样两个类 给大家举个例子 故完整的代码 扩展log4j---自定义日志文件创建 log4j配置如下 log4j日志扩展---PatternLayout 目前扩展log4j的日志一般使用扩展adaper的方法,这里使用一种扩展PatternLayout方法. log4j.rootLogger=debug, stdout, R log4j.appender.stdout=org.apache.l

  • 自定义log4j日志文件命名规则说明

    目录 自定义log4j日志文件命名规则 根据log4j的API定义自己的FileAppender 对应的log4j.properties的配置文件如下 输出的日志文件命名如下 log4j自定义生成文件的名称 log4j.properties MyRollingFileAppender.java 自定义log4j日志文件命名规则 项目中的日志需要采用一致的命名规范和文件规范,命名规则为:项目模块标识_index_日期时间_日志级别.log,且每个级别日志文件放在单独的文件夹,且每个文件夹下日志的数

  • Nginx配置-日志格式配置方式

    目录 一.默认的日志格式 二.我使用的日志格式 三.参数 四.测试效果 总结 上线了一个小的预约程序,配置通过Nginx进行访问入口,默认的日志是没有请求时间的,因此需要配置一下,将每一次的请求的访问响应时间记录出来,备查与优化使用. 一.默认的日志格式 默认的日志格式如下(默认是注解掉的,系统也自动会使用): #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $bod

  • Python向日志输出中添加上下文信息

    除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们来介绍以下几种实现方式: 通过向日志记录函数传递一个extra参数引入上下文信息 使用LoggerAdapters引入上下文信息 使用Filters引入上下文信息 一.通过向日志记录函数传递一个extra参数引入上下文信息 前面我们提到过,可以通过向日志记录函数传递一个extra参数来实现向日志输出

  • SSM整合中的Log4j日志的配置详情

    在网上搜索了很多的log的配置方法,当然结果很多,但是没有一个是我想要的.没办法只能自己去试了.只说如何在项目中引入log4j来显示日志的输出.当然配置文件是少不了的. 配置 log4j.properties 在SSM整合的项目中会有文件夹src/main/resources 所有的资源型文件都要放在这个resource下面(个人习惯,也可以放在其让地方) ### Log4j配置 ### ### 与Spring结合需要在web.xml中指定此文件位置,并添加监听器 ### #定义log4j的输出

  • Java中 log4j日志级别配置详解

    1.1 前言 说出来真是丢脸,最近被公司派到客户公司面试外包开发岗位,本来准备了什么redis.rabbitMQ.SSM框架的相关面试题以及自己做过的一些项目回顾,信心满满地去面试,结果别人一上来就问到了最近项目使用的日志系统是什么?日志级别是怎么配置的?当时我都蒙X了,平时都是项目经理搭的,我自己也是随便上网一搜往配置文件一黏贴就OK了.我就这么说完后面试官深深定了我一眼,当时我的内心羞愧到...... 1.2 闲话少说,讲讲日志的发展故事(如果已经了解的可以跳过,直接看1.3日志配置) 要想

  • django模型动态修改参数,增加 filter 字段的方式

    我就废话不多说啦,还是直接看代码吧! kwargs = { # 动态查询的字段 } # 选择deleted_datetime为空的记录 if exclude_deleted: kwargs[ 'deleted_datetime__isnull' ] = True # 选择特的category if category is not None: kwargs[ 'category' ] = category # 特定的用户 if current_user_only: kwargs[ 'user' ]

随机推荐