一个不需要Log4Net的写日志的简单方法

有些项目写日志时会选择大名鼎鼎的Log4Net。而在我们使用它时,总会出现一些诸如版本不匹配而造成的写日志失败的情况,还要改web.config,还要改AssemblyInfo。而且,它的失败,并不是以日志的形式展现,而是“无反应”,你无法知道是哪里出了问题,最终的效果就是“没有输出日志且不知道为什么,需要根据百度和经验判断”。索性放弃。我只是要输出文本日志而已,杀鸡不要用牛刀了。

以下是一个简单实用的日志类,无需配置。

 public class LogHelper
    {

        public static void WriteLog(string msg)
        {
            string logFileName = DateTime.Now.ToString("yyyyMMdd") + ".txt";

            //此处根据不同的项目类型用不同的方法取路径
            //string logPath = base.Context.Server.MapPath("") + @"\LOG";
            //string logPath = HttpContext.Current.Server.MapPath("") + @"\LOG";
            string logPath = AppDomain.CurrentDomain.BaseDirectory + @"\log";
            string fullPath = logPath + @"\" + logFileName;

            if (!Directory.Exists(logPath))
            {
                Directory.CreateDirectory(logPath);
            }
            using (StreamWriter writer = File.AppendText(fullPath))
            {
                Log(msg, writer);
                writer.Close();
            }
        }
        private static void Log(string logMessage, TextWriter writer)
        {
            writer.Write("\r\nLog Entry : ");
            writer.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString());
            writer.WriteLine("  :{0}", logMessage);
            writer.WriteLine("-------------------------------");
            writer.Flush();
        }
    }
时间: 2024-08-09 10:29:37

一个不需要Log4Net的写日志的简单方法的相关文章

轻轻松松教你写日志-超级简单

最近在做一个项目,涉及到很多的服务,一步步调试相当麻烦,要在自己电脑上发布很多服务,又要全部开启.很费时间,出现问题,怎么解决最快呢?直接写日志,一步定位哪里出了错. Log4Net库是一个帮助程序员将日志信息输出到各种目标(控制台.文件 数据库等)的工具. Log4Net,相信哪个程序员都用过,但是可能是人家配置好了自己拿过来直接用,所以让自己写还是有点困难,听起来很高大上的样子,其实真的很简单.以前听别人讲,迷迷糊糊,知道那么回事,就是个写日志的.但是真正会用还是在项目中自己真正的实践. 下

log4net 发布到生产环境不写日志的解决方法

1.升级到log4net的最新版 PM下执行 Install-Package log4net 还是无法解决的,使用下面的方法 2.使用Nlog替换之,详见https://github.com/NLog/NLog/wiki/Tutorial NLog使用方法比log4net更为简单,配置文件如下,如果成windows程序需将NLog.config自动复制到bin下面 1 <?xml version="1.0" encoding="utf-8" ?> 2 &

动态修改log4net组件的日志文件名

最近项目使用到log4net来记录日志,当然二话不说先到cnblogs上查看一下各位高手关于log4net的教程和心得主要参看了摩诘 的Log4Net使用指南 (确实是非常好的log4net的入门指南),在此篇文章的评论中@所罗门 有个问题可能摩诘比较忙没有时间去是实验和解答,问题如下:如果我在配置文件里不设定Appender的File,即删除了<param name="File" value="log-file.txt" /> 一行信息,我想要在程序运

WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作)

WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作) 好吧,还是那个社区APP,非管理系统,用户行为日志感觉不是很必要的,但是,错误日志咱还是得记录则个.总不能上线后报bug了让自己手足无措吧,虽然不管有木有错误日志报bug都是件很头疼的事... 我们知道webAPI也有好几个Filter,上篇文章我们做token与权限用到了ActionFilterAttribute,这次我们用ExceptionFilterAttribute来做

重复造轮子,编写一个轻量级的异步写日志的实用工具类(LogAsyncWriter)

一说到写日志,大家可能推荐一堆的开源日志框架,如:Log4Net.NLog,这些日志框架确实也不错,比较强大也比较灵活,但也正因为又强大又灵活,导致我们使用他们时需要引用一些DLL,同时还要学习各种用法及配置文件,这对于有些小工具.小程序.小网站来说,有点“杀鸡焉俺用牛刀”的感觉,而且如果对这些日志框架不了解,可能输出来的日志性能或效果未毕是与自己所想的,鉴于这几个原因,我自己重复造轮子,编写了一个轻量级的异步写日志的实用工具类(LogAsyncWriter),这个类还是比较简单的,实现思路也很

使用log4net写日志

1.首先去下载log4net.dll,在项目中引用. 2.添加log4net.config配置文件(文件名可以自己取,但是一定要为配置文件类型),在配置文件中配置相关的配置. 3.在项目全局文件Global.asax中添加监控log4net配置. protected void Application_Start() { log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server.MapPath("log4net.con

分布式计算 要不要把写日志独立成一个Server Remote Procedure Call Protocol

w https://en.wikipedia.org/wiki/Remote_procedure_call In distributed computing a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in another address space (commonly on another computer on a shared netw

pg_resetxlog - 重置一个 PostgreSQL 数据库集群的预写日志以及其它控制内容

SYNOPSIS pg_resetxlog [ -f ] [ -n ] [ -o oid] [ -x xid] [ -l fileid,seg] datadir DESCRIPTION 描述 pg_resetxlog 清理预写日志(WAL)并且可以选择地重置其它一些控制信息(存储在 pg_control 文件中). 有时候,如果这些文件崩溃了,我们需要这个功能. 我们一定只把它用作最后的方法,就是说只有因为这样的崩溃导致服务器无法启动的时候才使用. 在运行这个命令之后,我们可能可以启动服务器了,

Log4net创建日志及简单扩展

1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段.2.一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0. 第二步:程序启动时读取log4net的配置文件. 如果是CS程序,在根目录的Program.cs中的Main