项目中需要将上传的数据输出到指定的log文件,之前对log4j缺少深入认识,普遍将整个应用的日志到输出到一个文件。

在经理的帮助下,业务数据可以直接输出到指定的log文件,现将配置及使用流程整理一下。

log4j.properties配置

log4j.logger.userLog= INFO,userLogFile
log4j.appender.userLogFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.userLogFile.File=/data/userlogs/users.log
log4j.appender.userLogFile.MaxFileSize=1000mb
log4j.appender.userLogFile.Threshold=INFO
log4j.appender.userLogFile.layout=org.apache.log4j.PatternLayout
log4j.appender.userLogFile.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n

userLog是logger的一个类别名字。可以在程序中 Logger.getLogger("userLog");直接获得到此logger.

appender在此不做过多解释,它只是一个日志输出的方式。

MaxFileSize 文件占用磁盘存储的最大size。

Threshold对哪些信息记录。

ConversionPattern

%p 日志级别

%d{yy-MM-dd} 时间格式

%c 类别名字,这里是userLog

%m 实际的内容,也就是信息message, log.info(message);

%n 换行。

注: rootLogger是属于应用的唯一、顶级的logger。将特定的数据输出到特定的log文件,则不能使用rootLogger,要使用自己定义的logger

import com.alibaba.fastjson.JSONObject;
public class Controller {
Logger logger = Logger.getLogger("userLog");
  @RequestMapping(value="/data/saveData",method={RequestMethod.POST,RequestMethod.GET})
  public char savaDataAction(final HttpServletRequest request, final PlayData data) {       // 转为json字符串后记录下来
      String json = JSONObject.toJSONString(data);
logger.info(json);       return '1';
  }
}

log4j 输出原始数据到指定日志文件的更多相关文章

  1. log4j输出多个自定义日志文件(转)

    如果在实际应用中需要输出独立的日志文件,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢? 先看一个常见的log4j.properties文件,它是在控制台和test.log文件中记录日志: ...

  2. log4j输出多个自定义日志文件,动态配置路径

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  3. 运行系统命令而且将输出写到指定日志文件的shell脚本(2)

    上一篇是个简单的能够运行而且写入日志的脚本,可是假设放到生产环境上就显得太粗糙了,所以须要进一步的优化: #! /bin/bash if [ -d "/opt/bmc" ] ; t ...

  4. log4j配置输出到多个日志文件

    通常我们项目里,有一些重要的日志想单独的输出到指定的文件,而不是全总输出到系统的日志文件中.那么我们log4j为我们提供了这种功能,以下我们来一步一步看是怎么做的.这里以property的配置方式写. ...

  5. log4j配置输出到多个日志文件(转)

    參考资料:http://logging.apache.org/log4j/1.2/manual.html 通常我们项目里,有一些重要的日志想单独的输出到指定的文件,而不是全总输出到系统的日志文件中.那 ...

  6. log配置文件log4j.propeties(配置保存日志文件的相对路径)

    log配置文件log4j.propeties(配置保存日志文件的相对路径) log4j.propeties文件: #日志的4种级别ERROR(错误).WARN(警告潜在的错误).INFO(粗粒度信息) ...

  7. log4j2配置文件动态指定日志文件名称

    按照习惯性思维,log4j2中xml中取系统属性应该和log4j一样,但是结果却并不是我们想的这样,存在一定的差别,log4j中的配置可参考 log4j配置文件动态指定日志文件名称 . 现在就来看看到 ...

  8. 使用log4j使某些java类的日志信息输出到指定日志文件中

    Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI 组件.甚至是套接口服务器.NT 的事件记录器.UNIX Syslog ...

  9. log4j分离日志输出 自定义过滤 自定义日志文件

    普通的log4j.properties 定义: ### set log levels ### log4j.rootLogger = debug,D,E ## Disable other log log ...

随机推荐

  1. iOS获取UUID

    转自:<iOS获取设备的唯一标识的方法总结以及最好的方法> 参考:<获取iOS设备唯一标识> 总结一下: 1.代码采用CFUUID+KeyChain的实现方式. 2.CFUUI ...

  2. Python3 - MySQL适配器 PyMySQL

    本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查. 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一 ...

  3. lua闭包实现迭代器遍历数组

    --实现访问数组的迭代器 function visit(t) return function() i = i + return t[i] end end --要访问的数组 ,,,} itor = vi ...

  4. 雷林鹏分享:服务器上的 XML

    服务器上的 XML XML 文件是类似 HTML 文件的纯文本文件. XML 能够通过标准的 Web 服务器轻松地存储和生成. 在服务器上存储 XML 文件 XML 文件在 Internet 服务器上 ...

  5. 51Nod 1810 连续区间

    https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1810 题目给出一个1~n的排列,问有多少连续区间.连续区间的定义为区间 ...

  6. yii框架中获取添加数据后的id值

    Yii::$app->db->createCommand()->insert('month4_user',['openid'=>$openid,'integ'=>0])- ...

  7. Coprime Arrays CodeForces - 915G (数论水题)

    反演一下可以得到$b_i=\sum\limits_{d=1}^i{\mu(i)(\lfloor \frac{i}{d} \rfloor})^n$ 整除分块的话会T, 可以维护一个差分, 优化到$O(n ...

  8. 关于AndroidStudio混淆配置,简单的整理(转)

    1.首先需要在app下的build.gradle下配置,true表示编译时会混淆代码<span style="font-size:18px;">buildTypes { ...

  9. 【Oracle】【3】字段自增长(+1)

    业务场景——解决方案 1,每插入一条数据,其排序字段要增长1 —— Service层查询出最大值,再+1(参考博客的方法是触发器) 2,子表插入一条数据,主表某字段+1 —— where A.ID = ...

  10. 移动端rem适配 flex.js

    (function() { document.addEventListener('DOMContentLoaded', function () { var html = document.docume ...