`

关于log的一点设想

log 
阅读更多

最近在写代码中,有一点想法,记录下来。

   这点想法就是log。 在系统维护中,才发现,log真是超级重要的工具,log记录的好,问题出在什么地方立刻就能确定;写的不好,就只能明白其中的意思,不知道具体的细节,还是需要翻看代码才能查明原因。差一点的,压根没有记录。但是最差的,是错误的log,修改代码的同时,没有修改log,造成南辕北辙,害人不浅啊。

    例如,在验证数据时,优秀的log会输出:

        【VERR02】BX validation ERROR,line 23

   其中VERR02是业务错误的编号,可以通过这个编号到文档中查找解释,后面的是解释,最后指明错误是在哪一行出现的。这样的log,可以说给系统维护带来了极大的方便。

   刚才提及log中的编号和错误地点记录,尤其是错误编号,实际上是对系统的一个要求,有点超出了log的范围,但是这是要在log中体现出来的。这种编号,也是优秀系统设计的标志,看看WAS下面的log,就能体会到。至于编号,则着实能体现程序人员的水平和素质。

  

   我心目中理想的log应该是这样的,方法级:

      

     function xx( param1,param2){

      

     ENTRY_LOG(param1,param2); 

      

     var result;

 

     //process...........

  

    STEP_LOG(STEP1);

     

    var condition1= xxx&yyy;

   

   CONDITION_LOG(condition1);

   

    if(param1=='xxx'){

 

      ///......

    }

   

 

    

      EXIT_LOG(param1,param2,result);

 

    }

 

   log写的好,少不了开发时多花功夫,不过考虑到后期的维护成本,这些功夫,还是值得的。

 

   一点想法,记录与此。

分享到:
评论
1 楼 qgyang 2009-10-23  
深有同感!

相关推荐

    关于Log4j的Demo

    **关于Log4j的Demo** Log4j是Java编程语言中广泛使用的日志记录框架,它为应用程序提供了灵活且强大的日志记录功能。这个“关于Log4j的Demo”是帮助开发者更好地理解和应用Log4j的一个实例。Log4j不仅提高了代码的...

    老生常谈Log4j和Log4j2的区别(推荐)

    Log4j和Log4j2的区别 Log4j和Log4j2是两个常用的日志记录工具,它们都来自Apache开源项目。虽然它们都是日志记录工具,但是它们之间有很多区别。下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来...

    C#关于log4net(Log For Net)的使用

    log4net(Log For Net)是Apache开源的应用于.Net框架的...它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和级别管理方便。具体的使用方法往下看。

    若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

    Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...

    Log-Log4perl-1.36.tar.gz

    以上就是关于Log4perl的详细介绍,它是Perl日志管理的强大工具,提供了丰富的功能和高度的灵活性,适用于各种规模的项目。通过理解并熟练运用Log4perl,开发者可以更有效地调试和监控他们的Perl应用程序。

    C#关于log4net(Log For Net)的使用说明

    ### C#中log4net(Log For Net)的使用说明及详解 #### 一、引言 log4net是Apache组织下的一个开源项目,专为.NET框架设计,旨在为.NET应用程序提供一套灵活、强大的日志记录解决方案。log4net借鉴了Java世界中广受...

    log4cxx封装为通用LOG宏

    Log4cxx是Apache软件基金会的一个开源项目,它是C++版的log4j,提供了一套强大的日志处理机制。本文将详细讨论如何将log4cxx封装为通用LOG宏,以及其配置文件的详细内容。 首先,让我们了解log4cxx的基本概念。Log4...

    log4cplus日志封装log

    **log4cplus日志封装log** 在软件开发过程中,日志记录是一项至关重要的任务,它可以帮助开发者追踪程序运行状态,定位错误,以及进行性能分析。`log4cplus`是一个专门为C++设计的开源日志系统,它提供了一种高效、...

    java关于log4j打印日志demo

    通过这个`java关于log4j打印日志demo`,我们可以学习到如何配置和使用Log4j,理解其工作原理,以及如何在实际项目中有效地利用日志系统。实践这个示例将帮助你更好地掌握Java日志记录的最佳实践。

    Log4j2简介及与Log4j效率对比

    ### Log4j2简介 Log4j2是Apache软件基金会推出的日志框架,它是Log4j 1.x的重构版本,旨在提供更为高效且灵活的日志解决方案。与Log4j 1.x相比,Log4j2在设计上进行了重大改进,并解决了Logback等其他日志框架中...

    logging-log4j2-log4j-2.15.0-rc2.zip maven 资源库

    针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...

    C# log4net自动删除多少天前的log文件

    5. 关键配置来了:`<param name="DatePattern" value="'.'yyyy-MM-dd'.txt'" />`,这将使日志文件名为`log.yyyy-MM-dd.txt`的形式,便于识别和清理。 6. 最后,添加`...

    log4z的使用

    `log4z`提供了丰富的日志级别,包括`LOG_TRACE`、`LOG_DEBUG`、`LOG_INFO`、`LOG_WARNING`、`LOG_ERROR`和`LOG_FATAL`。根据项目需求,可以选择性地开启或关闭不同级别的日志。 ```cpp #include "log4z.h" void ...

    log4j.jar各个版本

    apache-log4j-1.2.15.jar, apache-log4j-extras-1.0.jar, apache-log4j-extras-1.1.jar, apache-log4j.jar, log4j-1.2-api-2.0.2-javadoc.jar, log4j-1.2-api-2.0.2-sources.jar, log4j-1.2-api-2.0.2.jar, log4j-...

    Log4j2学习用到的jar包及apache-log4j-2.19.0-bin.zip

    分别有disruptor-3.3.4.jar(Log4j2异步日志的底层实现)、log4j-api-2.19.0.jar(log4j门面)、log4j-core-2.19.0.jar(log4j实现)、log4j-slf4j-impl-2.19.0.jar(SLF4J与Log4j绑定)、slf4j-api-1.7.30.jar(SLF...

    Log4net详细说明使用

    `LogFileAppender`将日志信息写入名为`log-file.txt`的文件,`ConsoleAppender`则将日志输出到控制台。日志格式由`PatternLayout`定义,可以自定义显示内容。`LevelRangeFilter`用于过滤日志级别,只允许`DEBUG`至`...

    Qualcomm平台开发如何抓取Log

    Qualcomm平台开发如何抓取Log Qualcomm平台开发中,抓取Log是一种非常重要的调试方法。Log可以帮助开发者快速定位问题,提高开发效率。在Qualcomm平台上,抓取Log有多种方法,本文将详细介绍这些方法。 1. ADB查看...

    [简单]log4jdbc-log4j2配置简记

    这篇简记可能是关于如何整合这两个工具以实现对数据库活动的透明化监控。 首先,我们需要理解log4jdbc的工作原理。它是一个JDBC驱动的代理,可以拦截并记录所有的SQL查询、执行时间、结果集等信息。而log4j2则负责...

    4种平台抓LOG方法汇总

    在Android系统开发和调试过程中,抓取LOG信息是一项至关重要的任务。它可以帮助开发者了解系统运行状态,定位问题,以及优化代码。以下将详细介绍MTK(MediaTek)、高通、展讯、联芯这四种不同平台的Android手机抓取...

    log4j-1.2.9

    设置log4j的根目录,值为 日志等级(DEBUG,INFO,WARN,ERROR,FATAL) , 输出目标名称 log4j.rootLogger=DEBUG,A1 设置输出方式,常用的有: ConsoleAppender 在控制器中输出信息 RollingFileApperder 在文件中输出...

Global site tag (gtag.js) - Google Analytics