`
gmleegmlee
  • 浏览: 119720 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java 记录 日志,log,

    博客分类:
  • JAVA
阅读更多


public class LogUtil
{

    private static Logger  log               = Logger.getLogger(LogUtil.class.getName());
    private static Handler fileHandler       = null;

    static
    {
        try
        {
            String logfile = (new File(ServiceAccess.getSystemSupportService().getDeployedPar("an-commonsh-ftpcsv-emf").getBaseDir()))
                            .getAbsolutePath() + File.separator + "log" + File.separator + "ftpcsv%g.log";
            // String dirPath = CommonUtil.getDeployedParBaseDir("zxnm01-northbound");
            // String logfile = (new File((new File(dirPath)).getParent())).getParent() + File.separator + "log" + File.separator + "tl1" +
            // File.separator +"tl1agent_AlarmTrace%g.log";
            fileHandler = new FileHandler(logfile, 5000000, 5, true);
            // fileHandler = new FileHandler(CommonUtil.getNetNumenHomeDir() + "/ums-svr/log/tl1agent_AlarmTrace%g.log" ,10000,11,true);
            fileHandler.setLevel(Level.INFO);
            fileHandler.setFormatter(new CustomFormatter());

        }
        catch(Exception ex)
        {
        }
        log.addHandler(fileHandler);
    }

    public static void info(String loginfo)
    {
        log.info(loginfo);
    }

}











public class CustomFormatter extends Formatter
{
    // 时间
    private Date          dat           = new Date();
    // 参数
    private Object[]      args          = new Object[1];
    // 消息格式化器
    private MessageFormat formatter     = null;
    // 时间参数
    private String        format        = "{0,date} {0,time}";
    // 行分格符
    private String        lineSeparator = (String)AccessController.doPrivileged(new sun.security.action.GetPropertyAction("line.separator"));

    public String format(LogRecord record)
    {
        StringBuffer sb = new StringBuffer();
        dat.setTime(record.getMillis());
        args[0] = dat;
        StringBuffer text = new StringBuffer();
        if(formatter == null)
        {
            formatter = new MessageFormat(format);
        }
        formatter.format(args, text, null);
        sb.append(text);
        sb.append("  ");
        String message = formatMessage(record);
        sb.append(message);
        sb.append(lineSeparator);
        printWriterLog(record, sb);
        return sb.toString();
    }

    private void printWriterLog(LogRecord record, StringBuffer sb)
    {
        if(record.getThrown() != null)
        {
            try
            {
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                record.getThrown().printStackTrace(pw);
                pw.close();
                sb.append(sw.toString());
            }
            catch(Exception ex)
            {
                 
            }
        }
    }
}



















分享到:
评论

相关推荐

    log4j使用与java中log4j记录日志如何写入数据库

    本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties...

    java Log日志规范

    Java日志规范是Java开发中不可或缺的一部分,它用于记录应用程序运行过程中的各种信息,包括错误、警告、调试信息等,帮助开发者追踪问题、优化性能。本文将深入探讨Java的日志规范,以log4j2.properties、log4j....

    Java 日志记录 log4j 最简明教程

    在Java代码中,你可以通过LoggerFactory获取一个Logger实例,然后调用其方法记录日志。例如: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger....

    java swing用Logger输出错误日志.docx

    在Java编程中,日志记录是一项非常重要的任务,它帮助开发者追踪程序运行状态,调试问题,以及记录系统事件。在Swing应用中,我们同样可以使用Java内置的`java.util.logging`包来输出错误日志。这篇文档主要讨论了...

    log4j.rar java写LOG日志的驱动

    3. **编写代码**:在Java类中获取Logger实例,并调用相应的方法记录日志。 ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger(MyClass...

    log4j2.xml记录日志到到数据库

    在Java开发中,日志记录是一项至关重要的任务,它帮助开发者追踪程序运行状态,定位问题,以及进行性能分析。Log4j2是一款广泛使用的日志框架,它提供了灵活且高效的日志记录功能。本示例将详细介绍如何配置并使用...

    java log 日志示例程序

    通过`LogDemo`程序,我们可以了解到在Java中使用`log4j`和`commons-logging`进行日志记录的基本方法,这对于调试、问题排查和性能分析都是至关重要的。在实际开发中,可以根据项目需求调整配置,实现更精细化的日志...

    java-日志-log4j.7z

    Logger是记录日志的对象,负责接收日志事件并将其传递给适当Appender。Appender是输出日志的地方,如控制台、文件、数据库或网络。Layout则定义了日志信息的格式。Level用于设定日志的严重性级别,包括DEBUG、INFO、...

    Java 日志工具 Log4j 示例源代码

    3. **编写代码**:在`TestLog4j`类中,我们可以创建一个Logger实例,然后使用不同的级别记录日志: ```java import org.apache.log4j.Logger; public class TestLog4j { private static final Logger logger = ...

    java记录日志的log4j资料大全

    Log4J是Java编程语言中广泛使用的日志记录框架,由Apache软件基金会开发并维护。它的主要优点在于灵活性和可配置性,允许开发者精确控制日志的输出目的地、格式以及级别,以满足不同项目的需要。 在Log4J中,日志...

    使用Log4j进行日志操作.zip_java 操作日志_java 日志_log4j_系统日志

    Log4j是Java编程语言中广泛使用的日志记录框架,由Apache软件基金会开发。它提供了一个灵活的日志系统,能够帮助开发者记录应用程序运行过程中的各种信息,从调试信息到严重错误,这对于系统的维护、故障排查以及...

    日志记录(log4j)

    在众多的日志框架中,Log4j是Java开发者广泛使用的开源工具,因其强大的功能和灵活性而备受推崇。本文将深入探讨Log4j的核心概念、配置、以及实际应用。 1. **Log4j概述** Log4j是由Apache组织开发的一款用于Java...

    tomcat8更换log4j记录日志

    下面将详细介绍如何在Tomcat8中替换或更新Log4j来记录日志。 首先,让我们了解一下Log4j。Log4j是Apache软件基金会的一个开源项目,它为Java应用程序提供了一种灵活的日志记录方案。Log4j的优点包括可配置性、性能...

    java-操作记录-对比操作前后不同

    首先,Java中的操作记录通常通过日志系统来实现,如Log4j、SLF4J、Logback等。这些日志框架提供了丰富的接口和配置选项,可以让开发者方便地记录不同级别的日志信息(如DEBUG、INFO、WARN、ERROR等)。例如,使用Log...

    java日志记录组件log4j-1.2.14和commons-logging-1.1.1

    - **简单易用**:API设计简洁,易于理解和使用,只需几行代码即可开始记录日志。 - **灵活性**:可以针对不同的部署环境动态选择合适的日志框架,例如在生产环境中使用Log4j,而在开发环境中使用JUL。 在实际...

    Java项目记录日志

    标题"Java项目记录日志"暗示我们将关注Java环境下的日志处理。Log4j是Java领域广泛使用的日志库,它提供了灵活的日志配置,可以自定义日志级别(如DEBUG、INFO、WARN、ERROR和FATAL),并且支持多种输出方式,如文件...

    log4j记录Debug日志

    5. **Logger**:Logger是实际记录日志的对象,每个类或模块都可以有自己的Logger。通过设置Logger的级别,可以控制该类或模块的日志输出级别。 6. **Filter**:Filter允许你在日志输出前进行条件判断,例如,只输出...

    log4qt 日志管理 log4qt 日志管理log4qt 日志管理log4qt 日志管理log4qt 日志管理log4qt 日志管理

    Log4Qt是Qt框架下的一款日志记录库,它基于流行的Java日志库log4j设计,为C++开发者提供了一套强大、灵活的日志处理机制。本文将深入探讨Log4Qt日志管理的核心概念、功能特性以及如何在实际项目中有效应用。 一、...

    java关于log4j打印日志demo

    在Java编程中,日志记录是一项至关重要的任务,它帮助开发者追踪程序运行状态,调试错误,以及优化性能。Log4j是Apache组织提供的一款广泛使用的日志框架,它提供了灵活且高效的日志处理能力。本示例将详细介绍如何...

    Java 日志管理+log4j

    1. **Logger**:类似于Java内置的日志系统,Log4j的Logger也是用于记录日志的类,但它的优点在于可以动态地改变日志级别,且支持多个命名的Logger。 2. **Appender**:Appender负责将日志信息输出到指定的地方,如...

Global site tag (gtag.js) - Google Analytics