log实例

配置详解见2014.10月篇

log4j的pom.xml

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

log4j.properties

### direct log messages to stdout ###
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=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change ‘info‘ to ‘debug‘ ###

log4j.rootLogger=error, A1, R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

# Print the date in ISO 8601 format
#log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %m%n
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %l "#" %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=logs/elec.log
log4j.appender.R.MaxFileSize=1000KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %l "#" %m%n

自定义一个RuntimeException

public class MyException extends RuntimeException{
    public MyException(String msg) {
        super(msg);
    }
}

捕获

public class TestExc {

    private static Logger log = Logger.getLogger(TestExc.class);

    public static void main(String[] args) throws NoSuchMethodException,
            SecurityException {
        try {
            hehe("a");
        } catch (Exception e) {
            String errorMsg = "a";
            if (e instanceof RuntimeException) {
                RuntimeException re = (RuntimeException) e;
                errorMsg = re.getMessage().trim();
            }
            log.error(errorMsg, e);
        }
    }

    static void hehe(String s) {
        throw new MyException("aaa");
    }
}

日志

2016-04-14 13:15:12,028 excel.TestExc.main(TestExc.java:24) "#" aaa
excel.MyException: aaa
    at excel.TestExc.hehe(TestExc.java:29)
    at excel.TestExc.main(TestExc.java:17)
时间: 2024-10-10 23:52:26

log实例的相关文章

Python之log的处理方式

配置文件: 1 #! /usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 logging配置 5 """ 6 7 import os 8 import logging.config 9 10 # 定义三种日志输出格式 开始 11 12 standard_format = '[%(asctime) -s][%(threadName)s:%(thread)d][task_id:%(name)s]

JFinal - Log

今天偶然发现 JFinal 的 Log 简单小巧.不多说,上代码. JFinal 在初始化的时候有初始化 Log. class Config { // ... static void configJFinal(JFinalConfig jfinalConfig) { jfinalConfig.configConstant(constants); initLogFactory(); // 初始化 Log jfinalConfig.configRoute(routes); jfinalConfig.

C++、Java、JavaScript中的日志(log)

编程思想之日志记录 什么是log? 相信你一定用日记写过点滴心事,或是用空间.微信.微博刷着动态,记录你每天的喜怒哀乐!在程序中也有一种类似的东西,记录着他主人(应用程序)每天的行踪,他叫日志(log).日记--是人类生活的记事本,日志(log)--是程序运行状况的记事本. 顾名思义,日志(log,后面均以log称之)就是用来记录程序每天的运行状况的,比如程序出现异常的情况,或是某个关键点,功某个重要的数据或交易等.这里的每天不是说每天一记,可以是伴随着程序运行的始终,只要程序在运行着就一直在记

.NET设计模式实例之单例模式( Singleton Pattern)

一.单例模式简介(Brief Introduction) 单例模式(Singleton Pattern),保证一个类只有一个实例,并提供一个访问它的全局访问点.单例模式因为Singleton封装它的唯一实例,它就可以严格地控制客户怎样访问它以及何时访问它. 二.解决的问题(What To Solve) 当一个类只允许创建一个实例时,可以考虑使用单例模式. 三.单例模式分析(Analysis)1.单例模式结构 Singleton类,定义一个私有变量instance;私有构造方法Singleton(

Vue2:实例生命周期

每个 Vue 实例在被创建之前都要经过一系列的初始化过程.例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 DOM .在这个过程中,实例也会调用一些 生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会.例如,created 这个钩子在实例被创建之后被调用: <!DOCTYPE html> <html> <head> <title></title> <meta charset=&

Apache Commons-logging使用实例

本文将介绍如何在程序中使用Apache Commons-logging author: ZJ 07-3-17 Blog: [url]http://zhangjunhd.blog.51cto.com/[/url] 1.Commons-Loggin简介 Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具.它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工

前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)

一.Vue的实例 1.1.创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的: var vm = new Vue({ // 选项 }) 虽然没有完全遵循 MVVM 模型,Vue 的设计无疑受到了它的启发.因此在文档中经常会使用 vm (ViewModel 的简称) 这个变量名表示 Vue 实例. 1.vue.js就是一个构造器,通过构造器Vue来实例化一个对象:例如:var vm = new Vue({});2.实例化Vue时,需要传入一个参数(选

log 模块使用 (直接用的方法)

前情提要: 生活中经常用到log 模块. 但是原生的log 模块复杂或者有许多不好用得地方, 在此记录一个经常用的log 的基本操作方法 一:首先导入模块 import logging.config #这个和底下的logging 不重复 import os import logging 二:定义日志输出格式 1:标准模式 standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename

RSYSLOG没那么简单

定义系统默认的日志收集还算EASY. 但如何在公司项目里要配置程序员们写的自定义日志,那可能就要用到LOCAL及FILTER过滤这些东东了... 慢慢走吧.. 收集URL备用,都是讲LOCAL,TEMPLAT,FILTER比较好的CASE: http://blog.sina.com.cn/s/blog_4a80a5730101m2b3.html http://my.oschina.net/0757/blog/198329 http://wenku.baidu.com/link?url=tPJuf