HttpContext.Current.Request.MapPath解决日志存储路径问题

在一个Web项目中,日志类位于Websites.Common层中,在记录日志时需获取当前Web应用程序的物理路径,此时不好使用Page类下的Server.MapPath来获取,查看了其他的Web项目,终于找到了解决方法:使用HttpContext.Current.Request.MapPath来代替!

Loger类:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.IO;

namespace Websites.Common
{
    /// <summary>
    /// 日志类
    /// Copyright (C) 2009 By Dnawo
    /// </summary>
    public class Loger
    {
        /// <summary>
        /// 记录日志
        /// </summary>
        /// <param name="message">错误信息</param>
        public static void Write(string message)
        {
            Write(Path.Combine(HttpContext.Current.Request.MapPath("/Loger"), DateTime.Now.ToString("yyyy-MM-dd") + ".log"), message);
        }

        /// <summary>
        /// 记录日志
        /// </summary>
        /// <param name="path">日志文件路径</param>
        /// <param name="message">错误信息</param>
        public static void Write(string path, string message)
        {
            //创建文件夹
            string directory = path.Substring(0, path.LastIndexOf("\\"));
            if (! Directory.Exists(directory))
                Directory.CreateDirectory(directory);

            File.AppendAllText(path, message + "\r\n\r\n");
        }
    }
}


上一篇: SQL Server2000 触发器
下一篇: ASP快速获取远程文件大小
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 7235
发表评论
登录后再发表评论!