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. [JSOI2016]最佳团体

    嘟嘟嘟 01分数规划+树形背包. 然后就没了. 结果我调了半天,原因还是树形背包不熟练. 我是用dfs序求的,转化的时候,是dp[i][j]转化到dp[i + 1][j + 1]或dp[i +siz[ ...

  2. Powershell应用

  3. Selenium应用代码(读取excel的内容进行注册的案例)

    1. 封装读取excel数据的方法:import java.io.*;import java.util.ArrayList;import java.util.List; import jxl.*;im ...

  4. checkout 提示失败

    事故现场有些时候,当我们使用 git checkout <branchname>命令切换分支的时候,有时会切换失败,然后出现以下的提示信息: 提示信息说的很清楚,当前分支有未跟踪的文件,c ...

  5. [转]Python中下划线以及命名空间的意义

    Python 用下划线作为变量前缀和后缀指定特殊变量/方法. 主要存在四种情形 1. 1. object # public    2. __object__ # special, python sys ...

  6. Faster Alternatives to glReadPixels and glTexImage2D in OpenGL ES

    In the development of Shou, I’ve been using GLSL with NEON to manipulate image rotation, scaling and ...

  7. 手机站全局的html+css加载等待效果

    本文只提供思路,CSS神马的自己定制吧,JS是可以优化的,比如,输出图片的JS也可以放到showdiv()里面,我没有做优化,只是实现,别笑话我,我比较懒... 基本思路:由于Html的解析是从上到下 ...

  8. Objective-C 中的 assign, copy,retain,strong,weak 详解

    在IOS开发中,经常会使用   @property(nonatomic,copy)NSString * name;   语句来快速设置set get 方法,在此依次说明atomic .nonatomi ...

  9. RPM包、YUM、system初始化进程基本知识

  10. 【若泽大数据实战第二天】Linux命令基础

    Linux基本命令: 查看IP: ifconfig 或者 hostname -i(需要配置文件之后才可以使用) ipconfig(Windows) 关闭防火墙: Service iptables st ...