关于c#程序日志打印的问题

问题描述

日志打印是一个很重要的事,现在一般都是在程序内直接打印文本内容进行的,而我现在正做一个日志编码的工作,意思就是把之前的文本内容用数字编码来代替,但引出一个问题就是:如果在程序源码内硬写数字码会带来相当的不方便,造成开发人员每需打印一次日志就需去编码表里找到相应的数字码,这样很不方便也不利于阅读及维护也困难,在此请各位大侠有没有人有过这样的经验,能提出好的建议,谢谢!

解决方案

解决方案二:
大神们,给个思路,提点建议,自己帮顶下
解决方案三:
数字码用于统计,而文本也要保留用于方便查看.
解决方案四:
每个错误代码对应不同的错误吧?怎么会维护困难?你们开发人员真矫情
解决方案五:
枚举
解决方案六:
引用3楼FoxDave的回复:

每个错误代码对应不同的错误吧?怎么会维护困难?你们开发人员真矫情

对,每个错误代码对应不同的错误,这个会建立一个库来维护这个对应关系,现在的问题是在源码里是直接硬写数字不利于开发人员的方便性,这样每次都需要去查编码表,意思是能否有更方便的方式,如通过智能的提示啥的?
解决方案七:
这个错误库做成可以查询的就好了呗
解决方案八:
1、不知道你描述的编码,是日志分类的意思,还是日志记录ID的意思?如果是日志分类,那你程序里面可以用枚举2、开发人员打印日志,现在是怎么检索的?你编码以后,重新分装一个方法让他感觉不到你编码了,还是维持原来的检索习惯呗。这不就是面相对象封装的概念么~你去ATM取钱,你输入金额100,ATM拿一张一百的给你,现在银行系统升级了,对存放不同面值的盒子进行编码(1-100面值,2-50面值),不管怎么编码,对应取款人员来说,点100的按钮取钞口出来的就是100的面值,和你内部怎么编码无关。
解决方案九:
你不预先编码,难道还能自动产生不成?日志本来就是输出逻辑的一部分,文字已经简化为编码都不愿写,干脆连整个程序都不要写算了,你们的程序员真矫情。。。
解决方案十:
引用7楼lovelj2012的回复:

1、不知道你描述的编码,是日志分类的意思,还是日志记录ID的意思?如果是日志分类,那你程序里面可以用枚举2、开发人员打印日志,现在是怎么检索的?你编码以后,重新分装一个方法让他感觉不到你编码了,还是维持原来的检索习惯呗。这不就是面相对象封装的概念么~你去ATM取钱,你输入金额100,ATM拿一张一百的给你,现在银行系统升级了,对存放不同面值的盒子进行编码(1-100面值,2-50面值),不管怎么编码,对应取款人员来说,点100的按钮取钞口出来的就是100的面值,和你内部怎么编码无关。

编码可以理解成日志记录ID的意思,就是用一串数字来替换文字,现在是直接把数字码写在源码里面不利于程序员的查找,维护也不方便,能否有更智能提示功能一样不需要人员去查数字码值表。
解决方案十一:
引用8楼xuanbg的回复:

你不预先编码,难道还能自动产生不成?日志本来就是输出逻辑的一部分,文字已经简化为编码都不愿写,干脆连整个程序都不要写算了,你们的程序员真矫情。。。

哥们,不是不愿意写,而是想找一种更方便的方法,直接写数字码在源码里不利于程序员的工作及方便性。
解决方案十二:
用枚举,自己搜下
解决方案十三:
引用10楼hnwl0507的回复:

Quote: 引用8楼xuanbg的回复:
你不预先编码,难道还能自动产生不成?日志本来就是输出逻辑的一部分,文字已经简化为编码都不愿写,干脆连整个程序都不要写算了,你们的程序员真矫情。。。

哥们,不是不愿意写,而是想找一种更方便的方法,直接写数字码在源码里不利于程序员的工作及方便性。

我可以负责任地告诉你,没有办法!原因我再说一次:事件码(预定义的日志代码)是逻辑而不是值!你可以做的也就是找个人把这些日志都定义成静态方法,然后让别人用的时候调用而已

时间: 2024-08-01 22:49:27

关于c#程序日志打印的问题的相关文章

浅谈程序日志

如果世界上有一个人能够保证一次写出来的代码是百分之百正确的,那么毫无疑问,他一定是世界上最优秀的程序员,没有之一.为什么要求代码写好过后要进行充分的自测 ( 包括单元测试和集成测试 ) ?就因为是人皆会犯错,使程序就会有 bug .作为一名软件开发人员,必须要学会对程序进行测试,也就是要学会程序的调试. 代码调试方法 一般而言,对代码的调试有以下几种方法: 第一,凭肉眼看 .在开发阶段,我们编写的每一行代码都需要用我们的"火眼金睛"多审查几遍.如果要问,最好的代码调试工具是什么?我认为

请问为什么我的mybatis 关联查询只有一条记录,但是日志打印出来的Total: 3, 谢谢

问题描述 请问为什么我的mybatis 关联查询只有一条记录,但是日志打印出来的Total: 3, 谢谢 SELECT * FROM JiKeUser; 这个里面有如下三条记录, id userName password ------ --------- ---------- 2 jike00100 666666 3 jike00200 888888 8 author001 123456 SELECT * FROM author; 这个里面也是三条记录, id realName userID I

c语言-编写一个程序,打印输入中的单词长度的直方图。垂直方图。

问题描述 编写一个程序,打印输入中的单词长度的直方图.垂直方图. 直方图是如何理解????求教这道题~~ 这道题目是书上的!有没有懂的大神.给讲解啊. 解决方案 问题是怎么解决的? 我想到的就是算好格式用printf()一行行的输入,最后拼成直方图.

怎样在ASP程序中打印Access报表(无组件的经典程序)

access|程序|打印|无组件 目前,B/S模式(浏览器/服务器模式)成为企业网上首选的计算模式.由于B/S模式的特殊性,在C/S下相对较易实现的Excel报表打印功能在B/S下却成为一个难点.本人通过研究写了一个基于ASP程序的打印Acess报表的程序.本程序的特点是无须任何组件. Print.asp------------------------------------------------ <html><title>打印Excel报表</title><%

在ASP程序中打印Excel报表的新方法

excel|程序|打印 目前,B/S模式(浏览器/服务器模式)成为企业网上首选的计算模式.由于B/S模式的特殊性,在C/S下相对较易实现的Excel报表打印功能在B/S下却成为一个难点.本人通过研究写了一个基于ASP程序的打印Excel报表的程序.本程序的特点是无须任何组件. Print.asp------------------------------------------------ <html><title>打印Excel报表</title><%'控制脚本

WebSphere Application Server Community Edition中的应用程序日志记录

引言 应用程序日志记录提供了捕获在应用程序执行期间发生的各种事件的方法.它将收集关于应用程序在执行各种任务时在做什么的详细信息.此信息在调试.故障排除甚至审核方面很有用.WebSphere Application Server Community Edition(以下称为 Community Edition)提供了各种库,可帮助应用程序开发人员配置日志记录服务.这些库是: Log4j SLF4j java.util.logging java.util.logging 包是可用于所有标准 Java

在ASP程序中打印Excel表格的新方法

 在ASP程序中打印Excel报表的新方法 目前,B/S模式(浏览器/服务器模式)成为企业网上首选的计算模式.由于B/S模式的特殊性,在C/S下相对较易实现的Excel报表打印功能在B/S下却成为一个难点.本人通过研究写了一个基于ASP程序的打印Excel报表的程序.本程序的特点是无须任何组件.   Print.asp ------------------------------------------------ <html><title>打印Excel报表</title&

日志系列--程序日志处理挑战与方案

程序日志(AppLog)有什么特点? 内容最全:程序日志是由程序员给出,在重要的地点.变量数值以及异常都会有记录,可以说线上90%以上Bug都是依靠程序日志输出定位到 格式比较随意:代码往往经过不同人开发,每个程序员都有自己爱好的格式,一般非常难进行统一,并且引入的一些第三方库的日志风格也不太一样 有一定共性:虽然格式随意,但一般都会有一些共性的地方,例如对Log4J日志而言,会有如下几个字段是必须的: 时间 级别(Level) 所在文件或类(file or class) 行数(Line Num

此程序是 程序-编写一个程序,打印输入中各个字符出现频度的直方图

问题描述 编写一个程序,打印输入中各个字符出现频度的直方图 #include /* NUM_CHARS should really be CHAR_MAX but K&R haven't covered that at this stage in the book / #define NUM_CHARS 256 int main(void) { int c; long freqarr[NUM_CHARS + 1]; long thisval = 0; long maxval = 0; int t