第一种  直接文件IO流写日志文件

  

using System.IO;
public static void WriteLog(string strLog)
{string sFilePath="d:\\"+DateTime.Now.ToString("yyyyMM");string sFileName = "rizhi" + DateTime.Now.ToString("dd") + ".log";sFileName = sFilePath+ "\\"+sFileName; //文件的绝对路径if (!Directory.Exists(sFilePath))//验证路径是否存在
  {Directory.CreateDirectory(sFilePath);//不存在则创建
  }FileStream fs;      StreamWriter sw;if (File.Exists(sFileName))//验证文件是否存在,有则追加,无则创建
  {fs = new FileStream(sFileName, FileMode.Append, FileAccess.Write);}else{fs = new FileStream(sFileName, FileMode.Create, FileAccess.Write);}sw = new StreamWriter(fs);sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + "   ---   " + strLog);sw.Close();fs.Close();
}

第二种 使用log4net类库输出日志

  1.下载log4net类库 并选择项目对应的框架版本

   下载地址:http://logging.apache.org/log4net/download_log4net.cgi

  2.添加log4net引用,创建LogHelper类。

   

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using log4net;
using log4net.Core;[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace BoilerDashboard.Common
{public  class LogHelper{/// <summary>/// 输出日志到Log4Net/// </summary>/// <param name="t"></param>/// <param name="ex"></param>#region static void WriteLog(Type t, Exception ex)public static void WriteLog(Type t, Exception ex){log4net.ILog log = log4net.LogManager.GetLogger(t);log.Error("Error", ex);}#endregion/// <summary>/// 输出日志到Log4Net/// </summary>/// <param name="t"></param>/// <param name="msg"></param>#region static void WriteLog(Type t, string msg)public static void WriteLog(Type t, string msg){log4net.ILog log = log4net.LogManager.GetLogger(t);log.Error(msg);}#endregion}
}

第三种 Microsoft Enterprise Library里面的Log功能  

    以VS2012里面建立的一个控制台程序为例

  1. 安装Microsoft Enterprise Library里面的Logging Application模块。  在需要使用Log功能的项目上面右键,选择Manage NuGet Packeages...  2. 在Manage NuGet Packeages窗口里面找到Enterprise Library - Logging Application Block,然后安装  安装成功以后,项目引用中会增加两个新的引用。

  3. 我们需要对App.config文件进行配置。在这里我们使用配置编辑工具:Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix。这个工具的下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=38789

  4. 配置App.config文件。右键App.config文件选择Edit configuration file v6,打开配置工具窗口。  5. 选择菜单命令Block -> Add Logging Settings  6. 在Logging Target Listeners里面点加号按钮,然后选择Add Rolling Flat File Trace Listener(生成可以进行自动分割的文本文件)。  7. 一般需要设置的参数有:Asynchronous(选true则进行异步log), File Exist Behavior(选), File Name, Formatter Name, Max Archived Files, Roll Interval, Roll Size KB。  其中Formatter Name的值从Log Message Formatters中生成的值中选取。

  8. 生成 Message Format。在Log Message Formatters中点击加号按钮,选择Add Text Formatter  点击Template右侧的...按钮,打开Template Editor对话框,对Template的内容进行编辑  编辑后在App.config中生成的xml代码如下:  Logging formatter  9. 在窗口左侧区域中点击Cotegories右边的加号按钮。生成一个新的Category  10. 在新生成的Category区域中修改Name属性,然后点击Listeners右边的加号按钮,选择在Logging Target Listeners区域中已经生成的Listener。  11. 对已经进行的设置保  12. 写个简单的测试程序看看生成的Log效果如何

转载于:https://www.cnblogs.com/TBW-Superhero/p/6482899.html

C# 简单日志文本输出相关推荐

  1. [Win32]重绘的基本概念以及简单的文本输出文本输出

    1. 客户区的完整概念: 即应用程序窗口中没有被标题栏.边框.菜单栏.工具栏.状态栏和滚动条占据的中间的一片区域,用户可以在这片区域内绘制任意信息 注意!我们不能假定它有特定的尺寸或者是它的尺寸不会发 ...

  2. Linux 打印简单日志(一)

    简单日志输出: #include<stdio.h> #include<string.h> #include<stdlib.h>void write(char* fi ...

  3. pycharm console日志如何输出到txt_Django实战2-自动化运维之配置管理-04:知识扩展-logging日志模块...

    日志在程序开发中是非常重要的.在生产环境下,通过日志我们可以查看程序错误信息,处理程序异常.Django利用了python提供的logging模块来记录系统日志. 本节内容参考自Django官方文档, ...

  4. linux日志打印规则,Linux 打印简单日志(一)

    简单日志输出: #include#include#include void write(char* filename,char*szStr){ FILE*fp; fp= fopen(filename, ...

  5. 使用log4net将日志文件输出替csv格式

    使用log4net将日志文件输出为csv格式 我们在编写程序时,会在程序运行过程中记录一些日志.log4net作为一款经久耐用的日志组件,值得我们信赖.在中小型公司中,往往没有专业的日志服务器来处理应 ...

  6. 【问题解决】微软OneNote使用笔记,Ditto解决OneNote复制粘贴文本输出图片问题

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 白嫖用onenote和onedrive有段时间了,简单粗暴好用,没得说. 先总结(BB ...

  7. C++ 容器的综合应用的一个简单实例——文本查询程序

    [0. 需求] 最近在粗略学习<C++ Primer 4th>的容器内容,关联容器的章节末尾有个很不错的实例. 通过实现一个简单的文本查询程序,希望能够对C++的容器学习有更深的理解. 由 ...

  8. linux 输出gc日志,Tomcat输出保存JVM GC日志文件

    当系统出现问题时,分析java虚拟机GC日志可以帮助我们定位问题,一般来说, 我们可以通过制定JVM参数使tomcat保存GC日志文件,具体实现如下: Windows下 找到tomcat的解压目录,进 ...

  9. matlab中数值的取整、四舍五入、文本输出

    一.取整函数 Matlab取整函数有: fix, floor, ceil, round四种,具体使用方法如下: (1) fix 朝零方向取整 如 fix(-1.3)=-1 fix(1.3)=1; (2 ...

最新文章

  1. 7.1.1 [Enterprise Library]缓存应用程序块场景和目标
  2. linux 应急响应 病毒清除 系统加固
  3. C语言用户标准是什么,C语言系统用户标准管理系统.doc
  4. div垂直水平居中经常使用的方法
  5. 腾讯极客挑战赛邀你“码上种树”
  6. 4-12DataSet Transformations
  7. maven-dependency-plugin (goals copy-dependencies, unpack) is not support解决办法
  8. three.js 来源目光(十三)Math/Ray.js
  9. c语言中符号常量的作用 定义,c语言常量定义规则知识点总结
  10. STATUS of v$archive_dest的一些情况
  11. 【Python机器学习及实践】实战篇:泰坦尼克号罹难乘客预测
  12. 1080p、1080i
  13. Storm0.9.6安装教程
  14. VS2015 scanf 函数报错 error C4996: 'scanf'
  15. VSCode PlatformIO 开启RTTI
  16. 万维c语言作业,万维考试系统-C语言题库.doc
  17. U盘中的文件无故丢失怎么办
  18. 2019滴滴前端面试总结(一面)
  19. 西门子杯流程工业及其自动化(1)
  20. 2020江苏省大学生计算机设计大赛,我校学生在2020年中国大学生计算机设计大赛江苏省级赛中喜获佳绩...

热门文章

  1. 读取寄存器值_温湿度传感器与S7-1200 PLC通讯读取温湿度案例
  2. python图像处理应用的前景_传统图像处理还有前景吗?
  3. centos7 无法yum安装mysql_CentOS7 安装mysql(YUM源方式)
  4. js return 闭包为null_js 基础知识总结
  5. 江苏机器人竞赛南航_挑战不止 热血不息!1000余名青少年决战江苏省机器人普及大赛!...
  6. cups支持的打印机列表_在Mac上怎样更新打印机软件?
  7. php后端接收数据,后端如何接收fetch方式发送的数据?
  8. .net mysql limit 分页原理_浅谈MySQL分页Limit的性能问题
  9. kvm虚拟机设置万兆网卡_kvm已经设置桥接网卡的虚拟机无法连接宿主机?
  10. 服务器的系统搭建,服务器系统搭建