一个简易的日志程序

在程序开发过程中,我们经常要记录各种操作信息以及系统信息到日志中,以便于以后查找相关记录或者在遇到程序出现错误时查找错误的原因。一般日志存储于两种介质中:一、存储入数据库,另一种存储于文本文档中。我们最常用的插件有log4.net等。但是对我们日常的小程序来说,它可能过重,所以我自己在自己的开发中写了一个简单的小程序以适应小程序的需要。

为方便自己以后查找,记录代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.IO;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 using System.Web;
 8
 9
10
11 namespace IST.Common.Utility
12 {
13     public class LogManager
14     {
15         /// <summary>
16         /// 当前目录路径
17         /// </summary>
18         public static string strPath;
19         //public static string strPath = HttpContext.Current.Server.MapPath("\\Log"); //System.Environment.CurrentDirectory;
20
21         #region      判断是否存在日志文件夹,没有则创建一个
22         /// <summary>
23         /// 判断是否存在日志文件夹,没有则创建一个
24         /// </summary>
25         private static string ExsitsDirectory(LogType type)
26         {
27             string directoryName = strPath + "\\" + type.ToString();
28             try
29             {
30                 if (!Directory.Exists(directoryName))
31                 {
32                     Directory.CreateDirectory(directoryName);
33                 }
34             }
35             catch (Exception ex)
36             {
37
38             }
39             return directoryName;
40         }
41         #endregion
42
43
44         #region  把信息写入日志文件
45         /// <summary>
46         /// 把信息写入日志文件
47         /// </summary>
48         /// <param name="errorMsg">日志文本</param>
49         /// <param name="type">日志类型</param>
50         public static void WriteLog(string errorMsg,LogType type)
51         {
52             try
53             {
54                 string directoryName = ExsitsDirectory(type);
55                 string fileName = directoryName + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".log";
56                 if (!File.Exists(fileName))
57                 {
58                     FileStream fs = new FileStream(fileName, FileMode.Create);
59                     fs.Close();
60                 }
61                 StreamWriter sw = File.AppendText(fileName);
62                 sw.WriteLine("==========" + DateTime.Now.ToString() + "     " + errorMsg + "\n");
63                 sw.Close();
64             }
65             catch
66             {
67
68             }
69         }
70         #endregion
71     }
72
73     /// <summary>
74     /// 日志类型,用于区分日志应写入相应的文件中
75     /// </summary>
76     public enum LogType
77     {
78         /// <summary>
79         /// Bug
80         /// </summary>
81         Bug,
82         /// <summary>
83         /// 错误
84         /// </summary>
85         Error,
86         /// <summary>
87         /// 信息
88         /// </summary>
89         Info
90     }
91 }
时间: 2024-10-10 21:33:26

一个简易的日志程序的相关文章

利用map的特性做一个简易的投票程序

pair 1. 概念:pair是 一种模版类型,每个pair 可以存储两个值,这两种值的类型无限制.也可以将自己写的struct类型的的对象放进去. 2. 用法: pair<int ,int >p (1,2); pair<int ,int > p1= make_pair(1,2); 3. 编写程序读入一系列string和int型数据,将每一组存储在一个pair对象中,然后将这些pair对象存储在vector容器并显示 #include<iostream> #includ

如何用 Python 写一个简易的抽奖程序

不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下手. 其实这个很正常,刚开始学习写代码,都是跟着别人的套路往下写,看的套路少,很难形成自己的套路,这就和做数学题是一样的,做一道题就想会所有的题目,这个可能性微乎其微,都是通过大量的练习来摸索到自己的套路. 正好快过年了,各个公司都会搞一些抽奖活动,小编今天就来聊一下,如果要写一个简单的抽奖程序,小

任务02——安装 Intellj IDEA,编写一个简易四则运算小程序,并将代码提交到 GitHub

GITHUB:  https://github.com/lalacllla 代码(不完善): https://github.com/lalacllla/CALTMP/blob/master/src/caltmp.java 1.Intellj IDEA的安装和项目的新建并没有什么困难,个人认为Intellj IDEA相对于ECLIPSE更容易上手,界面更加简洁. 2.初步了解Git以及Github的使用,如何简单的创建一个repository,如何上传自己的代码. 3.代码部分还是有比较多的问题需

任务2--安装Intellj IDEA,编写一个简易四则运算小程序,并将代码提交到GitHub

我的GitHub地址为:https://github.com/Orangeyc123 首先呢,我并没有完整的完成任务,我觉得主要问题有以下几个 1.由于之前都没有听说过intellj IDEA这个软件,安装的时候就碰到了好多问题.对于我这个人来说呢,有一点很大的毛病就是对于从来没见过不知道的东西有一种畏惧心理.怕自己装的不对,怕自己有哪一个步骤和别人不一样而产生不同的结果. 比如 之前一直没有遇到过这种情况,显然有些不知所措,不过还好,问了学长以后我想以后出现这种问题应该so easy. 下载并

一个简易的聊天程序(Socket)

效果图: 服务端Server代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Th

Python监控日志程序

一个简易的日志监控的脚本,功能如下:1.windows环境2.当匹配日志关键字时会发出声音,匹配的关键字不同,播放的声音不同3.能做到实时响应 注意:是在win环境下哦 直接上代码吧 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

[后端人员耍前端系列]AngularJs篇:使用AngularJs打造一个简易权限系统

一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJS来打造一个简易的权限管理系统.下面不多说,直接进入主题. 二.整体架构设计介绍 首先看下整个项目的架构设计图: 从上图可以看出整个项目的一个整体结构,接下来,我来详细介绍了项目的整体架构: 采用Asp.net Web API来实现REST 服务.这样的实现方式,已达到后端服务的公用.分别部署和更好地扩展.Web层依赖应用服务接口,并且使

AngularJs打造一个简易权限系统

AngularJs打造一个简易权限系统 一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJS来打造一个简易的权限管理系统.下面不多说,直接进入主题. 二.整体架构设计介绍 首先看下整个项目的架构设计图: 从上图可以看出整个项目的一个整体结构,接下来,我来详细介绍了项目的整体架构: 采用Asp.net Web API来实现REST 服务.这样的实现方式,已达到后端服务的公用.分别部署和更好

基于rsyslog+mysql+loganalyzer构建一个小而美的日志服务器

前言: 每当我们遇到问题抓耳挠腮,一脸懵那啥的时候,也许看一下日志就瞬间豁然开朗,所以,一个易用的日志服务器还是很重要的.我们先不介绍elk,那个牛逼吊炸天的日志分析系统.今天我们先来构建一个小的日志服务器.elk我们以后再说~ 正文: 当我们配置完一个服务,启动报错时,那感觉就像吃了啥一样,别提多难受,除非服务程序本身有检测配置文件的程序,不然我们就得依赖linux自己的集中日志服务器rsyslog了.不过,有时候也许我们想搜索一下某条日志,或者向用可视化的界面进行统计分析.此时我们可以把日志