0

下面代码的问题是在服务器上创建了目录但没有创建文件,当我在我的系统上本地运行时它运行正常,请建议可以做什么,这是我的优先级 1。thnx

public static void CreateLog(string strToLog)
    {
        try
        {
            string excepfile = "CacheServerLogs_" + DateTime.Now.ToShortDateString().Replace("-", "_") + ".txt";
            FileStream fs = null;
            StreamWriter sw = null;
            string mydocpath = "C:\\CacheServerLogs";
            if (!Directory.Exists(mydocpath))
                Directory.CreateDirectory(mydocpath);
            string exceptionfile = Path.Combine(mydocpath, excepfile);
            //string exceptionfile = mydocpath + "\\" + excepfile;
            if (!File.Exists(exceptionfile))
                fs = File.Create(exceptionfile);
            else
                sw = File.AppendText(exceptionfile);
            sw = sw == null ? new StreamWriter(fs) : sw;
            sw.WriteLine(DateTime.Now.ToString() + " - " + strToLog);
            sw.Close();
            if (fs != null)
                fs.Close();
        }
        catch (Exception ex)
        {
            HandleException(ex);
        }
    }

可能存在用户权限问题,但我正在尝试这样做......给予文件夹所有可能的权限......

4

3 回答 3

0

尝试使用 File.CreateText 或 File.Write

于 2012-05-22T05:44:51.553 回答
0

由于您显然是在尝试写入日志文件,因此我通常建议您使用“标准”库来执行此操作,例如log4netNLog

于 2012-05-22T05:50:16.880 回答
0

实际上错误在于

string excepfile = "CacheServerLogs_" + DateTime.Now.ToShortDateString().Replace("-", "_") + ".txt";

在我的系统中格式是 22-05-2012 但在服务器上是 22\05\2012 所以这是在找不到路径上创建错误...

于 2012-05-22T06:05:40.017 回答