问题一:打印不同类的类名信息?

在log4j中通常是通过Logger.getLogger(class)指定所打印的类名,但是当我们需要打印不同类信息时,目前只能这样做,在不同的类文件中构建不同的logger,比如:

类1:

   1: public class Water

   2: {

   3:     private static Logger LOGGER = Logger.getLogger(Water.class);

   4:     // 流水的方法

   5:     public synchronized void flowWater(String studentName)

   6:     {

   7:          LOGGER.debug("结束为"+studentName+"流水");

   8:     }

   9: }

类2:

   1: public class Student

   2: {

   3:    private static Logger LOGGER = Logger.getLogger(Student.class);

   4:        // 学生接水的全过程

   5:     public void receiveWater()

   6:     {

   7:         LOGGER.info("从教室跑向饮水机");

   8:         LOGGER.info("跑回教室");

   9:     }

  10: }

 
另一种更简洁的方式,比如
类1:
public class Water
{
    public synchronized void flowWater(String studentName)       
    {               
        Logger.getLogger(Water.class).debug("结束为"+studentName+"流水");      
    }
}
类2:
public class Student
{
    public void receiveWater()       
    {      
        Logger.getLogger(Student.class).debug("从教室跑向饮水机");       
        Logger.getLogger(Student.class).debug("跑回教室");       
    }
}

问题二:怎样每小时生成一个文件?

为文件输出模式设置参数即可,
比如:
# 输出源file将日志输出到文件 
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern = ’.’yyyy-MM-dd-HH
# 日志输出的文件
log4j.appender.file.File = mylog.log #是否在原有文件中添加日志
# log4j.appender.file.Append=false
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss} [%-5p]  %t (%F:%L) -%m%n

DatePattern控制,具体对应格式如下:

1)’.’yyyy-MM: 每月

2)’.’yyyy-ww: 每周

3)’.’yyyy-MM-dd: 每天

4)’.’yyyy-MM-dd-a: 每天两次

5)’.’yyyy-MM-dd-HH: 每小时

6)’.’yyyy-MM-dd-HH-mm: 每分钟

 
 
主要信息,可以查看官方的API文档:
 
 

 
 

log4j使用细节的更多相关文章

  1. Spring Boot 揭秘与实战(三) 日志框架篇 - 如何快速集成日志系统

    文章目录 1. 默认的日志框架 logback2. 常用的日志框架 log4j 1.1. 日志级别 1.2. 日志文件 3. 源代码 Java 有很多日志系统,例如,Java Util Logging ...

  2. Log4j源代码学习

    了解log4j的源代码来源于项目中一次需求,我们想将系统所有的warn日志统一收集到common-warn.log的日志中去,以便于系统对其进行监控处理.于是模拟自动生成的error配置完成了warn ...

  3. Log4j的简要概述

    读取配置文件的三种使用方式: 1.Java代码:BasicConfigurator.configure() 2.Java特性:键值对解析(properties文件) PropertyConfigura ...

  4. Log4J实用配置指南

    转自:http://www.cnblogs.com/licheng/archive/2008/08/23/1274566.html 1         概述 本文档是针对Log4j日志工具的使用指南. ...

  5. ibatis配置log4j输出sql日志信息

    为了在开发过程更加直观,我们需要将ibatis日志打开以便观察ibatis运作的细节. ibatis采用Apache common_logging,并结合Apache log4j作为日志输出组件. 在 ...

  6. Log4j – Configuring Log4j 2 - Log4j 2的配置

    Configuration Inserting log requests into the application code requires a fair amount of planning an ...

  7. 项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库

    作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 365234583] ...

  8. log4j 基础教程【转】

    参考引用自: http://javacrazyer.iteye.com/blog/1135493 我的git地址: https://git.oschina.net/KingBoBo/Log4JDemo ...

  9. APACHE LOG4J™ 2

    最近服务端开发需要用Log系统,于是研究了下APACHE下的Log框架. 目前日志系统,支持的语言有C++,PHP,.NET,JAVA.当然我是用Java服务端,选择用log4j吧.但突然发现log4 ...

随机推荐

  1. [一]初识JFreeChart

    是什么? Java报表工具 原理? 封装好数据,调用工厂,创建一张图片,返回一个图片的名字,直接在页面上显示即可 怎么做? 需要导入jar,并在web.xml文件中进行相关的配置即可

  2. Java空字符串与null的区别和判断字符串是否为空的方法

    Java空字符串与null的区别: 1.类型null表示的是一个对象的值,而并不是一个字符串.例如声明一个对象的引用,String a = null ;""表示的是一个空字符串,也 ...

  3. CSS- 控制图片显示指定大小 并超过大小自动缩小

    有时候利用css比较方便控制网页html中img图片的显示大小.这样也省得自己一个一个去定义. img,a img{ border:; margin:; padding:; max-width:600 ...

  4. linux中配置maven环境

    一 .  下载maven http://maven.apache.org/download.cgi 二.   将maven解压到你的工具文件夹下 如我是解压到:  /home/urc/tool下 三. ...

  5. Chrome 插件vimium快捷键大全

    vimium是一款让你在chrome浏览器能方便地使用键盘操作浏览器的插件. 转自:http://www.cnblogs.com/liuyangnuts/p/3474905.html 在当前页中导航 ...

  6. FrankFan7你问我答之一

    作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 最近网友留言很多,你既然看得起我问了,我就说说个人浅见.看看就行了,也别认真. Q:你具体工作是什么? ...

  7. LINQ to JavaScript

    JSLINQ 是一个将LINQ对象转化为JavaScript对象的工具 .它是构建在JavaScript的数组对象的基础上进行转换的,如果您使用的是一个数组,你可以使用LINQ到javascript ...

  8. 5 Things They Never Tell You About Making iPhone Apps

    http://blog.teamtreehouse.com/5-things-they-never-tell-you-about-making-iphone-apps So, you've decid ...

  9. Linux启动遇到的问题

    双系统装的Ubuntu,在一次意外关机后无法进入图形界面,每次输入完密码进入桌面后又会退到密码输入界面.使用命令行df -hl查看发现根目录使用率达到100%.推测是因为意外关机导致的,但是找不到应该 ...

  10. .Net Framework 各个版本新特性总结 (一)

    .Net Framework 4.5 新特性 最近面试时又看到有问.Net Framework 新特性的问题,一时被问到了.平时也是拿起来就用,新版本出来了,新特性也就是瞄一眼,也没去仔细查看.这次干 ...