知识大全 使用Log4j进行日志操作
Posted 知
篇首语:赋料扬雄敌,诗看子建亲。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用Log4j进行日志操作相关的知识,希望对你有一定的参考价值。
使用Log4j进行日志操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
概述 背景 在应用程序中添加日志记录总的来说基于三个目的 监视代码中变量的变化情况 周期性的记录到文件中供其他应用进行统计分析工作 跟踪代码运行时轨迹 作为日后审计的依据 担当集成开发环境中的调试器的作用 向文件或控制台打印代码的调试信息 最普通的做法就是在代码中嵌入许多的打印语句 这些打印语句可以输出到控制台或文件中 比较好的做法就是构造一个日志操作类来封装此类操作 而不是让一系列的打印语句充斥了代码的主体 Log j简介 在强调可重用组件开发的今天 除了自己从头到尾开发一个可重用的日志操作类外 Apache为我们提供了一个强有力的日志操作包 Log j Log j是Apache的一个开放源代码项目 通过使用Log j 我们可以控制日志信息输送的目的地是控制台 文件 GUI组件 甚至是套接口服务器 NT的事件记录器 UNIX Syslog守护进程等 我们也可以控制每一条日志的输出格式 通过定义每一条日志信息的级别 我们能够更加细致地控制日志的生成过程 最令人感兴趣的就是 这些可以通过一个配置文件来灵活地进行配置 而不需要修改应用的代码 此外 通过Log j其他语言接口 您可以在C C++ Net PL/SQL程序中使用Log j 其语法和用法与在Java程序中一样 使得多语言分布式系统得到一个统一一致的日志组件模块 而且 通过使用各种第三方扩展 您可以很方便地将Log j集成到J EE JINI甚至是SNMP应用中 本文介绍的Log j版本是 作者试图通过一个简单的客户/服务器Java程序例子对比使用与不使用Log j 的差别 并详细讲解了在实践中最常使用Log j的方法和步骤 在强调可重用组件开发的今天 相信Log j将会给广大的设计开发人员带来方便 加入到Log j的队伍来吧! 一个简单的例子 我们先来看一个简单的例子 它是一个用Java实现的客户/服务器网络程序 刚开始我们不使用Log j 而是使用了一系列的打印语句 然后我们将使用Log j来实现它的日志功能 这样 大家就可以清楚地比较出前后两个代码的差别 不使用Log j 客户程序 package log j ; import java io * ; import * ; /** * * <p> Client Without Log j </p> * <p> Description: a sample with log j</p> * @version */ public class ClientWithoutLog j /** * * @param args */ public static void main ( String args [] ) String wele = null; String response = null; BufferedReader reader = null; PrintWriter writer = null; InputStream in = null; OutputStream out = null; Socket client = null; try client = new Socket ( localhost ) ; System out println ( info: Client socket: + client ) ; in = client getInputStream () ; out = client getOutputStream () ; catch ( IOException e ) System out println ( error: IOException : + e ) ; System exit ( ) ; try reader = new BufferedReader( new InputStreamReader ( in ) ) ; writer = new PrintWriter ( new OutputStreamWriter ( out ) true ) ; wele = reader readLine () ; System out println ( debug: Server says: + wele + ) ; System out println ( debug: HELLO ) ; writer println ( HELLO ) ; response = reader readLine () ; System out println ( debug: Server responds: + response + ) ; System out println ( debug: HELP ) ; writer println ( HELP ) ; response = reader readLine () ; System out println ( debug: Server responds: + response + ) ; System out println ( debug: QUIT ) ; writer println ( QUIT ) ; catch ( IOException e ) System out println ( warn: IOException in client in readln() ) ; System out println ( e ) ; try Thread sleep ( ) ; catch ( Exception ignored ) 服务器程序 package log j ; import java util * ; import java io * ; import * ; /** * * <p> Server Without Log j </p> * <p> Description: a sample with log j</p> * @version */ public class ServerWithoutLog j final static int SERVER_PORT = ; // this server s port /** * * @param args */ public static void main ( String args [] ) String clientRequest = null; BufferedReader reader = null; PrintWriter writer = null; ServerSocket server = null; Socket socket = null; InputStream in = null; OutputStream out = null; try server = new ServerSocket ( SERVER_PORT ) ; System out println ( info: ServerSocket before accept: + server ) ; System out println ( info: Java server without log j on line! ) ; // wait for client s connection socket = server accept () ; System out println ( info: ServerSocket after accept: + server ) ; in = socket getInputStream () ; out = socket getOutputStream () ; catch ( IOException e ) System out println( error: Server constructor IOException: + e ) ; System exit ( ) ; reader = new BufferedReader ( new InputStreamReader ( in ) ) ; writer = new PrintWriter ( new OutputStreamWriter ( out ) true ) ; // send wele string to client writer println ( Java server without log j + new Date () ) ; while ( true ) try // read from client clientRequest = reader readLine () ; System out println ( debug: Client says: + clientRequest ) ; if ( clientRequest startsWith ( HELP ) ) System out println ( debug: OK! ) ; writer println ( Vocabulary: HELP QUIT ) ; else if ( clientRequest startsWith ( QUIT ) ) System out println ( debug: OK! ) ; System exit ( ) ; else System out println ( warn: Command + clientRequest + not understood ) ; writer println ( Command + clientRequest + not understood ) ; catch ( IOException e ) System out println ( error: IOException in Server + e ) ; System exit ( ) ; 迁移到Log j 客户程序 package log j ; import java io * ; import * ; // add for log j: import some package import apache log j PropertyConfigurator ; import apache log j Logger ; import apache log j Level ; /** * * <p> Client With Log j </p> * <p> Description: a sample with log j< cha138/Article/program/Java/ky/201311/28526相关参考
知识大全 Spring 与 Log4J 进行动态日志配置切换
Spring与Log4J进行动态日志配置切换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 引言
Log4J日志管理系统使用心得体会 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简单的Logj
Logj是Apache的一个开放源代码项目通过使用Logj我们可以控制日志信息输送的目的地是控制台文件GUI组件甚至是套接口服务器NT的事件记录器UNIXSyslog守护进程等我们也可以控制每一条
系统环境 操作系统WindowsServer机器内存M 数据库 OracleiR()forNT企业版 安装路径C:\\ORACLE 模拟现象 先将数据库设置为归档模式
系统环境 操作系统WindowsServer机器内存M 数据库 OracleiR()forNT企业版 安装路径C:\\ORACLE 模拟现象 先将数据库设置为归档模式 SQL*
一更改日志操作模式三步走 默认情况下Oracle数据库采用的是非归档模式但是非归档模式不能够防止因物理损坏而导致丢失数据问题为此数据库管理员可能需要把日志操作模式从非归档模式转换为归档模式其实要
Log4j和JDBMonitor的比较 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Logj(
开源项目关于webapp的Log4j应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 建立lo
写个初始化的SERVLET packagenetwelovetennisutillog; importjavaxservlet*; importjavaxservlet*; imp
系统环境 操作系统WindowsServer机器内存M 数据库 OracleiR()forNT企业版 安装路径C:\\ORACLE 模拟现象 可通过重建数据文件来恢复前提是归档日