logYF.java

简介: logYF.java

compile('log4j:log4j:1.2.17')

 

logYF.java

package com.demo.test;
import org.apache.log4j.Logger;
public class logYF {
    private static Logger logger = Logger.getLogger(logYF.class);
    public static void info(Object log){
        logger.info(appendLogStr(log));
    }
    public static void error(Object log){
        logger.error(appendLogStr(log));
    }
    public static void debug(Object log){
        logger.debug(appendLogStr(log));
    }
    private static String appendLogStr(Object str) {
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        StackTraceElement log = stackTrace[1];
        StringBuffer  tag = new StringBuffer();
        tag.append("[");
        for (int i = 1; i < stackTrace.length; i++) {
            StackTraceElement e = stackTrace[i];
            if (!e.getClassName().equals(log.getClassName())) {
                tag.append(e.getClassName()).append(".").append(e.getMethodName()).append("-").append(e.getLineNumber());
                break;
            }
        }
        tag.append("] ").append(str.toString());
        return tag.toString();
    }
}

log4j.properties

### 设置###
log4j.rootLogger = debug,stdout,D,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} %m%n
### 输出DEBUG 级别以上的日志到=log.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = C://Data/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} %m%n
### 输出ERROR 级别以上的日志到=error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =C://Data/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} %m%n

输出结果示例:

[INFO] 2019-06-14 17:28:57 [com.demo.test.TestLog.main-7] aaaaaaaaaaaaaaa
[INFO] 2019-06-14 17:28:57 [com.demo.test.TestLog.TestSSS-13] aaaaaaaaaaaaaaa
[ERROR] 2019-06-14 17:28:57 [com.demo.test.TestLog.TestSSS-14] ssssss
[DEBUG] 2019-06-14 17:28:57 [com.demo.test.TestLog.TestSSS-15] debug
相关文章
|
Java
103.【Java Microbenchmark Harness】(三)
103.【Java Microbenchmark Harness】
49 0
103.【Java Microbenchmark Harness】(三)
|
人工智能 前端开发 Java
Java真过饱和了吗?现在学Java迟了?
Java真过饱和了吗?现在学Java迟了?
113 0
|
6月前
|
XML 存储 Java
|
druid Java 数据库
Java BasicDAO的详解
Java BasicDAO的详解
77 0
|
6月前
|
算法 Java 开发者
Java:求正整数分解为质因数Java
Java:求正整数分解为质因数Java
|
6月前
|
Java 程序员 C++
【Java】Java与C++:比较与对比
【Java】Java与C++:比较与对比
94 0
|
6月前
|
人工智能 算法 Java
约数个数(c++, java)
约数个数(c++, java)
36 0
|
11月前
|
存储 Java PHP
【零基础学Java】—初识Java(一)
【零基础学Java】—初识Java(一)
|
Java 编译器
【JAVA】初识Java
一些IDEA 里面的快捷键 JAVA开发环境 操作IDEA的动作分解 以类(class)为基本单位进行组织 数据(data) 基本数据类型 变量 字面量
131 0
|
Cloud Native Oracle Java
一篇文章和你从 Java1 聊到 Java18
002-2022 年的 20 年里 Java 始终保持在前三的水平,其中在 2005 年、2013-2015 年间、2021 年等时间还多次登顶过第一,这么一个已经发布了 27 年的语言在这些年是怎么始终保持在编程语言前三的呢?这么多年 Java 各个版本间又有什么变化?Java 语言在未来还会继续保持成为语言的常青树吗?这篇文章就来和大家回顾一下 Java 的历史。
293 0
一篇文章和你从 Java1 聊到 Java18