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 API
赶快看看Java11,不然你就out了!
由于直接从Java8跨越到Java11,所以特性介绍就把Java9-Java11的部分特性一起介绍一下。想要了解Java8特性的朋友可以去我的博客找「Java8系列」。
666 3
赶快看看Java11,不然你就out了!
|
Oracle Java 关系型数据库
什么是java
什么是java
119 0
AbstractDemo.java
AbstractDemo.java
73 0
|
数据安全/隐私保护 Android开发
java32-巩固练习
java32-巩固练习
111 0
java32-巩固练习
|
Java
java24-if..else...if
java24-if..else...if
106 0
java24-if..else...if
|
Java 编译器
Java synthetic
读完这篇文章你将会收获到 • synthetic fields • synthetic method • synthetic class
278 0
|
开发框架 安全 网络协议
java me
Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。 Java 语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 01 Java EE 是指 Java Enterprise Edition,Java 企业版,多用于企业级开发,包括 web 开发等等。也叫 J2EE。 Java SE 通常是指 Java Standard Edition,Java 标准版,就是一般 Java 程序的开发就可以(如桌面程序),可以看作
213 0
|
Android开发
java33-巩固练习
java33-巩固练习
91 0
|
Java
java NumFormat
-xiaxiede
108 0
|
Java 缓存 设计模式
Java 文件流操作.
一、概念     在Java中,文件的输入和输出是通过流(Stream)来实现的。一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是 Internet 上的某个 URL。
1495 0