public class TraceHelper
{
private static TraceHelper _traceHelper; private TraceHelper()
{
} public static TraceHelper GetInstance()
{
if (_traceHelper == null)
_traceHelper = new TraceHelper(); return _traceHelper;
} public void Error(string message, Exception ex)
{
Log(message, MessageType.Error, ex);
} public void Warning(string message, Exception ex)
{
Log(message, MessageType.Warning, ex);
} public void Info(string message, Exception ex)
{
Log(message, MessageType.Information, ex);
} private void Log(string message, MessageType type, Exception ex)
{
string exmsg = ex == null ? "" : "堆栈信息:" + ex.StackTrace;
Trace.WriteLine(
string.Format("{0},{1},{2},{3}",
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
type.ToString(),
message,
exmsg));
}
} public enum MessageType
{
Information = ,
Warning = ,
Error =
}

config配置

 <configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="">
<listeners>
<add name="LogListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="..\log\LogConsoleApp.log"/>
</listeners>
</trace>
</system.diagnostics>
</configuration>

在运行程序目录上一层会生成一个Log\\LogConsoleApp.log文件

TraceHelper的更多相关文章

  1. CacheHelper

    public static ObjectCache Cache { get { return MemoryCache.Default; } } public static bool TryGetCac ...

  2. C# 使用Trace记录程序日志

    在程序开发中,我们通常需要记录程序运行的状态,在程序部署后,发生的异常可以记录在日志中,便于发现程序潜在的问题.在.NET平台,有很多优秀的日志类库,例如Log4Net.如果程序很小,我们可以自己通过 ...

  3. android 9.0 Launcher3 去掉抽屉式,显示所有 app

    效果图 修改思路 1.增加全局控制变量 sys.launcher3.is_full_app,用来动态切换 2.增加两套布局,对应有抽屉和无抽屉 3.去除 allAppsButton 4.将 AllAp ...

  4. Cashe的使用

    1.CacheHelper public class CacheHelper { public static ObjectCache Cache { get { return MemoryCache. ...

  5. JavaSwing实现的文本比较软件

    先看效果:截图1 截图2: 实现思路: 1.界面UI设计 2.功能点 : a 打开文件进行比较    b 粘贴内容进去比较   c 提示帮助  d 窗口可以任意拖动 3.文本比较算法  java类 : ...

随机推荐

  1. 体验了Sublime + Emmet,才体会到原来前端开发可以这么痛快!

    从当初用notepad写出第一个web页面,到现在偶尔使用Editplus做一些HTML5的消遣,不知不觉已经15年了  --! 在这中间,和那些老顽固一样,坚决远离FP.DW那些半自动的前端开发工具 ...

  2. rc.local 开机自启脚本无法启动

    1.看是否rc.local 第一行如果是 #!/bin/sh -e 改成 #!/bin/bash sudo systemctl enable rc-local.service 2.看rc.local的 ...

  3. MyBatis(3)开发dao方法

    本次全部学习内容:MyBatisLearning       SqlSession         SqlSession是一个面向用户(程序员)的接口.         SqlSession中提供了很 ...

  4. LVS的DR模式负载均衡

    参考项目:http://www.cnblogs.com/along21/p/7833261.html#auto_id_3 LVS的DR模式实现负载均衡 1.环境 lvs-server :192.168 ...

  5. es6的解构赋值

    分类:数组.对象.字符串.布尔值.函数参数.数值解构赋值

  6. SpringBoot初始教程之Servlet、Filter、Listener配置(七)

    1.介绍 通过之前的文章来看,SpringBoot涵盖了很多配置,但是往往一些配置是采用原生的Servlet进行的,但是在SpringBoot中不需要配置web.xml的 因为有可能打包之后是一个ja ...

  7. sqlserver事务怎么开启 怎么提交 怎么回滚

    1.自动transaction每句statement都是一个transaction.例一个update指令更新多笔纪录, 要就全部成功, 只要失败,全部会回复原值. 2.ExplicitTransac ...

  8. 【洛谷P2258】子矩阵

    子矩阵 题目链接 搜索枚举选了哪几行,将DP降为一个一维的问题, 先预处理出w[i]表示该列上下元素差的绝对值之和 v[i][j]为第i列和第j列对应元素之差的绝对值之和 f[i][j]表示前j列中选 ...

  9. 【题解】洛谷P1032 [NOIP2002TG]字串变换(BFS+字符串)

    洛谷P1032:https://www.luogu.org/problemnew/show/P1032 思路 初看题目觉得挺简单的一道题 但是仔细想了一下发现实现代码挺麻烦的 而且2002年的毒瘤输入 ...

  10. PCB 布线 注意哪些问题记录

    1.过孔不能打在焊盘上 ,这样 焊接的时候 会有焊锡 溢出导致 短路. 2.焊盘的线引出时应该从中间引出,不应该从角落引出 3.当有较粗的电源线连接在元器件上时,最好是 有一根小线连接在元器件上,回流 ...