为了跟踪代码的运行情况,以前一直都是用程序代码中加入一些打印代码查看运行情况
从今天起:决定用log4j和commons-logging;
大致:描述一下使用过程:
1.引入log4j-**.jar 包:
注:java工程构建路径时:引入外部JAR
tomcat工程:直接将JAR包放入lib下:再构建路径,也可以其它方式构建路径。
2.编写log4j.properties 放置到class下且名字必须为log4j.properties 。
否则出现如下提示:
log4j:WARN No appenders could be found for logger (com.xxt.log4j.HelloLog4j).
log4j:WARN Please initialize the log4j system properly.
代码如下:
#可以设置级别:debug>info>error
#debug:显示debug、info、error
#info:显示info、error
#error:只error
#log4j.rootLogger=debug,appender1
#log4j.rootLogger=info,appender1
log4j.rootLogger=debug,stdout,appender2
#输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#设置输出样式
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#自定义样式
# %r 时间 0
# %t 方法名 如main
# %p 优先级 DEBUG/INFO/ERROR
# %c 所属类的全名(包括包名)
# %l 发生的位置,在某个类的某行
# %m 输出代码中指定的讯息,如log(message)中的message
# %n 输出一个换行符号
log4j.appender.stdout.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n
#输出到文件(追加方式)
log4j.appender.appender2=org.apache.log4j.FileAppender
#设置文件输出路径
#文本文件
log4j.appender.appender2.File=c:/Log4J.log
#设置文件输出样式
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] -%m%n
测试类:
package com.xxt.log4j;
import org.apache.log4j.Logger;
/**
*log4j使用demo
*@author: zhaoguoli
*@vision: v1.0 2009-07-12 create
*/
public class HelloLog4j {
private static Logger logger = Logger.getLogger(HelloLog4j.class);
/**
* @param args
*/
public static void main(String[] args) {
// 记录debug级别的信息
logger.debug("This is debug message.");
// 记录info级别的信息
logger.info("This is info message.");
// 记录error级别的信息
logger.error("This is error message.");
}
}
分享到:
相关推荐
标题中的“将Logback日志输出到websocket”指的是利用Logback这一强大的日志框架,结合WebSocket技术,实现实时的日志传输。Logback是Java世界中广泛使用的日志记录工具,它提供了高效的日志记录功能,而WebSocket则...
非常的不方便,所以做了个日志输出的重定向到屏幕上 为了图方便,用了UGUI做输出显示 支持做了简单的颜色区分和时间显示,并且会自动拦截全局的未catch的exception信息 提供了显示隐藏和屏蔽滑动的功能(用于...
然而,当使用`nohup`时,日志输出可能会迅速增加,导致日志文件过大,这不仅占用大量磁盘空间,还可能使日志分析变得困难。本文将详细讨论如何解决`nohup`日志输出过大问题,并提供一些实用的解决方案。 首先,理解...
可以设置全局或特定日志器的级别,控制不同级别的日志输出。 #### 格式化 `spdlog`允许自定义日志格式。例如,你可以设置日志包含时间戳、线程ID、日志级别等信息: ```cpp auto logger = spdlog::daily_file_...
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的配置选项,允许开发者灵活地控制日志输出。当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先...
本组件"使用C#开发的日志组件"专注于提供高效、灵活的日志输出及查看功能,极大地简化了开发人员在处理日志时的工作。 首先,这个组件具有五级日志输出功能,通常这包括:DEBUG、INFO、WARN、ERROR和FATAL。这些...
Linux 下 nohup 日志输出过大问题的解决方法 Linux 是一个功能强大且广泛使用的操作系统,nohup 命令是 Linux 中的一个常用命令,用于在后台运行程序并将输出重定向到文件中。但是在使用 nohup 命令时,经常会遇到...
Log4Cpp是一个流行的C++日志库,它模仿了Java的Log4j框架,提供了灵活的日志输出功能。本篇文章将深入探讨如何利用Log4Cpp有效地将日志输出到文件,实现最佳实践。 首先,理解Log4Cpp的基本结构至关重要。Log4Cpp...
虽然`DriverManager`类本身并不直接提供日志记录功能,但我们可以利用其方法来间接控制日志输出。在本文中,我们将深入探讨如何借助`DriverManager`和其他相关工具来实现这一目标。 首先,`DriverManager`类主要...
本篇文章将详细介绍如何在Android界面上显示和获取Logcat日志输出。 首先,理解Logcat中的日志级别至关重要。Logcat支持五种日志级别,按照严重性从低到高依次为:VERBOSE(详细)、DEBUG(调试)、INFO(信息)、...
在“Log4j2实现不同线程不同级别日志输出到不同的文件中”这个主题中,我们将深入探讨如何利用Log4j2实现这一高级日志管理需求。 1. **日志级别**: - 在Log4j2中,日志级别包括DEBUG、INFO、WARN、ERROR、FATAL...
本文将深入探讨如何在Log4j中实现日志输出路径的动态配置。 首先,我们要理解Log4j的核心组件。Log4j主要包括三个关键部分:Logger(日志器)、Appender(输出器)和Layout(布局)。Logger负责生成日志事件,...
springboot日志输出格式springboot日志输出格式springboot日志输出格式springboot日志输出格式springboot日志输出格式springboot日志输出格式springboot日志输出格式springboot日志输出格式springboot日志输出格式...
"grep-console"插件就是为了解决这一问题而诞生的,它能够让IDEA显示ASCII颜色,使得日志输出更加直观和易读。 **grep-console插件的安装与配置** 1. 打开IntelliJ IDEA,进入"File" -> "Settings"(或者使用快捷键...
本文将深入探讨如何使用C语言实现一个分级的日志输出系统,这有助于根据问题的严重程度过滤和查看日志,从而提高工作效率。 首先,我们需要理解日志分级的概念。常见的日志级别包括DEBUG、INFO、WARNING、ERROR和...
在Unity开发过程中,我们能很容易在Console控制台看到日志输出,但往往当测试人员测试时,使用的是pc包测试,想要看日志就不是那么方便,为了方便排错找错,我们希望在运行时的 Game Window 中有一个 Debug 控制台更...
Log.dll:日志输出动态链接库,功能实现 Log.h:封装Log.dll,提供简单的使用方案(可自行封装或改动,内含说明) LogWatcher.exe 可实时显示输出的日志,包含颜色定义,多Tab过滤器(Tag,正则,来源程序,日志等级...
日志输出在软件开发中扮演着至关重要的角色,它可以帮助开发者追踪程序运行状态,定位和解决错误。在.NET环境中,`log4net`是一个广泛应用的日志记录框架,它提供了灵活、可配置和高性能的日志解决方案。本文将深入...
本文将深入探讨如何在C++中实现跨平台的日志输出到文件的功能,同时支持Linux和Windows操作系统,并且能够灵活设置日志级别以及控制日志文件的大小。 首先,让我们了解“日志”在软件开发中的作用。日志是程序运行...
《Spring框架日志输出详解》 在深入学习和掌握Spring框架的过程中,理解其内部工作流程是至关重要的。"spring-study-全日志输出的jar包"为此提供了便利,它允许我们详细观察Spring框架如何处理各种任务,从而加深对...