0

以下のコードの問題は、ディレクトリがサーバー上に作成されているが、ファイルが作成されていないことです。システムでローカルに実行すると正常に実行されます。何ができるかを提案してください。これが私の優先事項です。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

実際にはエラーがありました

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

私のシステムでは形式は 22-05-2012 でしたが、サーバーでは 22\05\2012 だったので、パスが見つからないというエラーが発生していました...

于 2012-05-22T06:05:40.017 に答える
0

File.CreateText または File.Write を使用してみてください

于 2012-05-22T05:44:51.553 に答える
0

明らかにログファイルに書き込もうとしているので、通常はlog4netNLogなどの「標準」ライブラリを使用することをお勧めします。

于 2012-05-22T05:50:16.880 に答える