C#之日志
来源:互联网 发布:淘宝客服的工作职责 编辑:程序博客网 时间:2024/06/06 18:49
今天看了一篇开发的文章,上面说“尽早地添加日志记录和错误处理”。
日志-程序中发生了什么。
1 需要数据
方法参数:
- 日志存放的文件夹-创建路径
- 日志类型标识-创建路径
- 方法名称-创建路径、写入日志
- 方法参数-写入日志
- 方法返回的结果(可为异常信息)-写入日志
- 日志路径-创建路径
- 程序运行环境标识
- 时间-创建路径、写入日志
2 代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace 控制台应用程序_测试{ public class Logger { /// <summary> /// 写日志 /// </summary> /// <param name="folderName">日志存放的文件夹</param> /// <param name="logMark">日志类型标识:info-调用日志,error-错误日志,dev-开发日志,test-测试日志</param> /// <param name="methodName">方法名称</param> /// <param name="methodParam">方法参数</param> /// <param name="methodReturn">方法返回结果(可为异常)</param> public static void log(string folderName, string logMark, string methodName, string methodParam, string methodReturn) { try { //string folders = System.Configuration.ConfigurationManager.AppSettings["runMark"].ToString();//从配置文件Web.config中获取日志文件路径 string runMark = "dev";//程序运行环境标识:dev-开发-显示所有日志,test-测试-不显示开发日志,onLine-上线-不显示开发、测试日志 if (runMark.Equals("dev") || (runMark.Equals("test") && (!logMark.Equals("dev")) || (runMark.Equals("onLine") && (!(logMark.Equals("dev") || logMark.Equals("test"))))))//判断是否需要写日志 { DateTime now = DateTime.Now; //string folders = System.Configuration.ConfigurationManager.AppSettings["LogPath"].ToString();//从配置文件Web.config中获取日志文件路径 string folders = "E:\\Log";//日志路径 folders = folders + "\\" + folderName + "\\" + now.Year + "\\" + now.Month + "\\"+"\\"+logMark; //判断文件夹是否存在,不存在则创建 if(!Directory.Exists(folders)) { Console.WriteLine("文件夹不存在"); Directory.CreateDirectory(folders); } FileInfo logFile = new FileInfo(folders); string strPath = String.Format("{0}/{1}_{2}_{3:yyyy-MM-dd}.txt", logFile, methodName, logMark, now); StreamWriter _sw = new StreamWriter(strPath, true, Encoding.GetEncoding("UTF-8"));//创建文件 try { _sw.WriteLine(); _sw.WriteLine("时间:" + DateTime.Now); _sw.WriteLine("方法:" + methodName); _sw.WriteLine("参数:" + methodParam); string temp; switch (logMark) { case "info": temp = "返回"; break; case "error": temp = "错误"; break; default: temp = "信息"; break; } _sw.WriteLine(temp + ":"); _sw.WriteLine(methodReturn); _sw.WriteLine("***********************************************************************"); _sw.Flush(); } catch (Exception ex) { } finally { _sw.Dispose();//释放由 TextReader 对象使用的所有资源。 _sw.Close(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } }}
3 配置web.config的方法
4 日志
0 0
- C#之日志
- C#错误信息后抛之日志
- c# 日志
- C# 日志
- C#日志
- C# 日志
- c#日志
- C#开发之简单的日志打印类
- 从零开始写C# MVC框架之--- 配置log4日志
- C#开发之控制台程序使用log4net日志组件
- C#读写系统日志
- c#写系统日志
- C# 日志操作情形
- C#写日志类
- c# 日志异常类
- c# 日志异常类
- c# 日志异常类
- 程序log日志 c#
- Redis简介、Redis安装
- CSS 设置导航菜单文字内容垂直居中
- hdu2196树形dp+邻接表
- 就职意向
- Android小程序总结
- C#之日志
- Database LeetCode Rank Scores
- Android的IPC机制(一)——AIDL的使用
- Windows上PIL安装及应用问题
- hdu 1019 Least Common Multiple
- 用shell脚本执行mysql语句
- iOS 自定义UITableViewCell中button事件处理
- 异常
- 走过的路——2015下