- 浏览: 344402 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (249)
- 无废话ExtJs 系列教程 (26)
- jQuery (6)
- 钦波工作后的生活 (5)
- 工作/生活闲谈 (16)
- java基础知识 (44)
- java web (14)
- Struts (1)
- hibernate (8)
- Jpa (0)
- spring (1)
- ajax (3)
- java项目 (4)
- database (5)
- java 流行框架 (5)
- 异常处理 (4)
- 无废话Android系统教程 (6)
- 开发IDE (1)
- 亲自答过的java笔试题 (2)
- oa项目 (4)
- [ 民政局3.0系统 ]--知识点总结分析--与具体项目无关 (0)
- [ 黑龙江低保系统 ]--知识点总结分析--与具体项目无关 (2)
- 工作笔试 (1)
- xml (1)
- telecom项目分析 (13)
- swing (0)
- String运用 (2)
- css (1)
- 页面 (1)
- Html5 (2)
- oracle (4)
- 网站 (1)
- django (1)
- python (4)
- 民航数据中心遇到与解决的问题 (1)
- 平时关注的技术或特效 (1)
- Linux 命令 (2)
- 服务器监控工具 (1)
最新评论
-
wwytwen123:
[*]
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
junying280efun:
yingtao.huang@gmail.com仁兄,麻烦你给我 ...
jBPM Web Designer(jBPM Web 设计器、jBPM 流程设计器、工作流程设计器) -
mobeicanglang:
我觉得楼主的例子全部都有错误,题目明明说的是try{}语句中有 ...
try return finally -
ashy1q:
楼主最后那段代码重复了,写了两遍。知识很详细,很基础,学习了。 ...
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
185552143:
你好!
为什么我这样写p${m.id},会报错的?
能我帮我解 ...
Session问题
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.logging.Logger;
- public class LogManager {
- // 初始化LogManager
- static {
- // 读取配置文件
- ClassLoader cl = LogManager.class.getClassLoader();
- InputStream inputStream = null;
- if (cl != null) {
- inputStream = cl.getResourceAsStream("log.properties");
- } else {
- inputStream = ClassLoader
- .getSystemResourceAsStream("log.properties");
- }
- java.util.logging.LogManager logManager = java.util.logging.LogManager
- .getLogManager();
- try {
- // 重新初始化日志属性并重新读取日志配置。
- logManager.readConfiguration(inputStream);
- } catch (SecurityException e) {
- System.err.println(e);
- } catch (IOException e) {
- System.err.println(e);
- }
- }
- /**
- * 获取日志对象
- * @param clazz
- * @return
- */
- public static Logger getLogger(Class clazz) {
- Logger logger = Logger
- .getLogger(clazz.getName());
- return logger;
- }
- }
import java.io.IOException; import java.io.InputStream; import java.util.logging.Logger; public class LogManager { // 初始化LogManager static { // 读取配置文件 ClassLoader cl = LogManager.class.getClassLoader(); InputStream inputStream = null; if (cl != null) { inputStream = cl.getResourceAsStream("log.properties"); } else { inputStream = ClassLoader .getSystemResourceAsStream("log.properties"); } java.util.logging.LogManager logManager = java.util.logging.LogManager .getLogManager(); try { // 重新初始化日志属性并重新读取日志配置。 logManager.readConfiguration(inputStream); } catch (SecurityException e) { System.err.println(e); } catch (IOException e) { System.err.println(e); } } /** * 获取日志对象 * @param clazz * @return */ public static Logger getLogger(Class clazz) { Logger logger = Logger .getLogger(clazz.getName()); return logger; } }
2.在需要记录日志的地方,通过LogManager.getLogger()方法得到Logger对象,然后调用其记录日志的方法记录日志。这里,我记录错误堆栈信息是用的 log(Level level, String msg, Throwable thrown) 。
贴出我的properties配置文件内容,其中handlers属性一定别忘了,我就因为缺少这个属性花费了很多时间找原因。
- #Level的五个等级SEVERE(最高值) 、WARNING 、INFO 、CONFIG 、FINE 、FINER 、FINEST(最低值) 。这个不同于log4j
- #为 Handler 指定默认的级别(默认为 Level.INFO)。
- java.util.logging.ConsoleHandler.level=INFO
- # 指定要使用的 Formatter 类的名称(默认为 java.util.logging.SimpleFormatter)。
- java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
- # 为 Handler 指定默认的级别(默认为 Level.ALL)。
- java.util.logging.FileHandler.level=INFO
- # 指定要使用的 Formatter 类的名称(默认为 java.util.logging.XMLFormatter)。
- java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
- # 指定要写入到任意文件的近似最大量(以字节为单位)。如果该数为 0,则没有限制(默认为无限制)。
- java.util.logging.FileHandler.limit=1024000
- # 指定有多少输出文件参与循环(默认为 1)。
- java.util.logging.FileHandler.count=1
- # 为生成的输出文件名称指定一个模式。有关细节请参见以下内容(默认为 "%h/java%u.log")。
- java.util.logging.FileHandler.pattern=C:/SSLog%u.log
- # 指定是否应该将 FileHandler 追加到任何现有文件上(默认为 false)。
- java.util.logging.FileHandler.append=true
- handlers= java.util.logging.ConsoleHandler,java.util.logging.FileHandler
这样配置后还有一个缺陷,日志文件累积到指定的大小时,将会被重新创建,也就是之前的日志信息会丢失,但是不设置大小的话会导致单个文件过大。关于这个问题还没有花时间去细究,以下这篇博文应该能解决这一问题。
发表评论
-
JAVA正则表达式经典实例教程[huiqinbo]
2012-03-22 14:38 1805归纳者 : huiqinboaddress : bei ... -
Java多线程同步Synchronized使用并详细分析与实例 【huiqinbo转于网络并总结】
2012-03-09 13:55 3087一.Synchronized基本知识: 在 ... -
今天闲谈下最近写的正则表达式方法,对初学者来说绝对实用【回钦波】
2012-02-03 18:38 871////////////////// test1 ... -
获得到当前方法及类的名字Thread.currentThread().getStackTrace()[0].getClassName();
2011-09-26 13:22 2230获得到当前方法及类的名字: Thread.curren ... -
BufferedReader和BufferedOutputStream之间的灵活应用【回钦波】
2011-09-16 17:44 1068package log; import java.io.Bu ... -
获取c盘下的用户地址System.getProperty("user.home")
2011-09-15 17:09 1142System.getProperty("user.h ... -
为java.util.logging自定义文件处理器及日志输出格式
2011-09-15 17:05 1795为java.util.logging自定义文件处理器及日志输 ... -
获得本类(java文件)的路径【huiqinbo】this.getClass().getResource("/").getPath()
2011-09-14 15:29 1351package com.huiqinbo; imp ... -
java中ArrayList 、LinkList区别【huiqinbo】
2011-09-08 11:42 1237java中ArrayList 、LinkList、List区 ... -
jdk的logging实例入门学习
2011-09-07 16:40 1006jdk的logging实例入门学习 分类: JDK 2 ... -
关于数组new 与不new 的问题
2011-08-30 15:05 860public class Test { String c ... -
Eclipse快捷键大全(huiqinbo)
2011-08-30 11:12 770Ctrl+1 快速修复(最经典 ... -
oracle数据库左右内外连接 【回钦波详解】
2011-08-29 15:00 1192oracle数据库左右内外连 ... -
@SuppressWarnings("**")是什么意思【回钦波详细解答】
2011-08-10 10:55 1003很多网友问我(回钦 ... -
很好用的Java反编译软件【回钦波】
2011-04-29 16:49 1067有Windows,Linux和Mac OS三个版本可 ... -
JAVA进制等移位运算[参考于回钦波文库]
2010-12-20 14:33 1048JAVA移位运算符 文章分类:Java编程 作者:回钦波 ... -
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
2010-11-05 13:16 2993java类中静态域、块,非 ... -
线程的状态
2010-11-02 09:50 1014学习线程《五》——线程的状态 文章分类:Java编程 ja ... -
ArrayList,Vector, LinkedList的存储性能和特性
2010-11-01 13:05 1061ArrayList,Vector, LinkedList的存储 ... -
LinkedHashMap 和 HashMap的区别[软件框架师 回钦波详解]
2010-10-18 23:49 1416...
相关推荐
同时,可以在配置文件中指定全局或特定Logger的级别,例如`logging.properties`。 3. **过滤日志**:使用`java.util.logging.Filter`接口,可以实现自定义过滤逻辑,只让满足条件的日志消息通过。每个Handler和...
虽然JDK的内置日志框架提供了基础的日志功能,但其灵活性和可扩展性相较于Log4j或Logback等第三方框架略显不足。因此,开发者经常选择这些第三方库,以获得更丰富的特性,如更精细的配置选项、更高效的性能和更好的...
1. Log4j 1.2.6:这是Log4j的一个较早版本,提供了基本的日志记录功能,包括定义不同级别的日志(如DEBUG、INFO、WARN、ERROR和FATAL),以及通过配置文件自定义日志输出格式和目的地(如控制台、文件、SMTP等)。...
log4j的主要优势在于其灵活性和可扩展性,允许用户通过配置文件自定义日志记录的方式,无需修改应用程序代码。 #### 二、日志记录的目的 在应用程序中记录日志主要有以下三个目的: 1. **监视代码中变量的变化...
在实际应用中,根据项目需求,可以通过调整Log4j的配置文件来控制日志的级别、输出位置和格式,从而更好地管理和利用日志信息。理解并熟练掌握Log4j的配置与使用,对于提高软件的可维护性和排查问题的效率具有重要...
【标题】:Eclipse配置文件详解 在Java开发领域,Eclipse是一款广泛使用的集成开发环境(IDE)。Eclipse不仅提供了代码编辑、构建自动化、调试等基础功能,还允许用户通过配置文件来定制其工作环境,以满足不同项目...
本文将深入探讨Java中的log日志组件,包括JDK内置的日志(jdkLog)、Apache的Commons Logging(commonLog)以及流行的log4j。了解这些组件的特点和用法,将提升你对Java日志处理的理解。 首先,我们来看看JDK内置的...
2. **外部配置**:Log4j支持外部配置文件,这意味着可以在不修改代码的情况下调整日志行为,提供了极大的灵活性。 3. **丰富的输出目的地**:Log4j可以将日志信息输出到不同的目的地,如控制台、文件、数据库等,...
将 Log4j 的 `.jar` 文件及配置文件放入 Tomcat 的 `lib` 目录中: - **log4j.jar** - **log4j.properties** 具体步骤如下: 1. 将 `log4j.jar` 复制到 Tomcat 的 `lib` 目录下。 2. 创建或修改 `log4j....
在Log4j中,通常通过配置文件(如log4j.properties或log4j.xml)来设定日志行为。配置文件中可以定义Loggers、Appenders、Levels和Layouts。例如: ```properties # 配置控制台输出 log4j.appender.stdout=org....
本压缩包“cruisecontrol配置文件.rar”包含了一些关键文件,它们是CruiseControl配置和运行的核心部分。 `main.jsp` 是CruiseControl Web界面的一个页面,用户可以通过这个页面查看构建状态、历史记录以及错误报告...
参照了几个网上大神配置,部分教程的描述有误,最终调试完成,可以实现kettle日志输出,测试版本kettle data-integration-6.0,jdk1.7,日志位置在你的data-integration-6.0安装目录下,logs。 需要替换的文件为,...
- 可选地,创建自定义配置文件(如mongodb.conf),指定数据路径、日志路径等参数。 - 使用mongod命令启动数据库服务器,并检查是否正确运行。 3. **安装Elasticsearch**: - 下载Elasticsearch的Linux二进制包...
- 选择“自定义配置”进行网络配置。 - 按照网络配置信息进行IP设定。 2. **安装完成后重启**: - 系统安装完毕后将自动重启。 #### JDK 安装与配置 1. **下载JDK**: - 下载与操作系统版本匹配的JDK安装包(JDK...
Log4j 2的配置文件通常为`.xml`或`.json`格式,通过定义Logger、Appender、Filter和Layout等元素,可以灵活配置日志的行为。例如,你可以指定特定的日志级别,设置日志输出路径,甚至添加自定义的日志处理器。 总结...
总之,Java Swing应用可以通过`java.util.logging`包中的`Logger`类,结合`logging.properties`配置文件或在代码中动态设置,实现对错误日志的记录和管理。这不仅可以帮助开发者调试程序,也是生产环境中监控系统...
- 可通过配置文件`log4j.properties`或`log4j.xml`进行设置。 **配置Log4j**: - 在项目中包含`log4j.jar`。 - 编写`log4j.properties`文件,定义日志级别、输出格式、输出目的地等。 - 如`log4j.rootLogger=...
本篇文章将深入探讨如何使用Spring的配置文件来设置和使用AOP。 首先,我们需要了解AOP的基本概念。AOP的核心是切面(Aspect),它封装了横切关注点。切点(Join Point)是程序执行过程中的某个特定位置,如方法...