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】
69 0
|
负载均衡 Java 应用服务中间件
[Java]ITOO初步了解
[Java]ITOO初步了解
95 0
|
Java
Java常见的坑(二)
你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
84 0
|
算法 Java
移动零(java)
移动零(java)
75 0
|
Java 测试技术
1070 结绳(JAVA)
给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。
1070 结绳(JAVA)
|
Java API Windows
|
Java 程序员 C++
|
存储 Java 开发者
Java - 9 个小技巧让你的 if else 看起来更优雅(三)
Java - 9 个小技巧让你的 if else 看起来更优雅(三)
236 0
|
存储 Java 编译器
Java笔试题库(09期)
Java笔试题库(09期)
|
Oracle Java 关系型数据库
来了来了,Java14它真的来了
语言必须发展,否则它们就有变得无关紧要的风险,” Brian Goetz (甲骨文公司)在2019年11月在 Devoxx 举行的“ Java 语言期货”演讲中说。 作为 Java 语言架构师,他扮演了一个重要的角色,尽管 Java 已经发展了25年,但仍然远远没有过时。
1011 0