1

txtで出力するにはどうすればよいですか?しかし、イベントログにはありません

public class ProjectHandler:Microsoft.Office.Project.Server.Events.ProjectEventReceiver {

}

public static void WriteToEventLog(string textLog, EventLogEntryType logtype)  {
    EventLog eventlog = new EventLog();
    eventlog.Source = "Project Event Handler";
    eventlog.WriteEntry(logtype.ToString() + ":" + textLog, logtype);

}

public override void OnDeleting(PSContextInfo contextInfo, ProjectPreEventArgs e) {

    WriteToEventLog(string.Format("Пользователь \"{0}\" удалил проект \"{1}\"", contextInfo.UserName, e.ProjectName), EventLogEntryType.Information);

    base.OnDeleting(contextInfo, e);
}
4

3 に答える 3

1

イベントログに書き込む代わりに、テキストファイルに書き込む必要があります

このメソッドを追加

 public static void WriteToTextFile(string textLog)
 {
    FileStream objFS = null;


    string strFilePath = AppDomain.CurrentDomain.BaseDirectory + @"\Exception Log\" + System.DateTime.Now.ToString("yyyy-MM-dd ") + "Exception.log";
    if (!File.Exists(strFilePath))
    {
          objFS = new FileStream(strFilePath, FileMode.Create);
    }
    else
          objFS = new FileStream(strFilePath, FileMode.Append);

    using (StreamWriter Sr = new StreamWriter(objFS))
     {
         Sr.WriteLine(System.DateTime.Now.ToShortTimeString() + "---" + textLog);
      }

 }

次に、この行を変更します

 WriteToEventLog(string.Format("Пользователь \"{0}\" удалил проект \"{1}\"", contextInfo.UserName, e.ProjectName), EventLogEntryType.Information);

 WriteToTextFile(string.Format("Пользователь \"{0}\" удалил проект \"{1}\"", contextInfo.UserName, e.ProjectName));
于 2013-07-19T07:17:00.693 に答える
0
    public override void OnDeleting(PSContextInfo contextInfo, ProjectPreEventArgs e)
    {
        using (System.IO.StreamWriter sw = new System.IO.StreamWriter(@"C:\Blah.txt"))
        {
            string textToWrite = string.Format("Пользователь \"{0}\" удалил проект \"{1}\"", contextInfo.UserName, e.ProjectName);
            sw.WriteLine(textToWrite);
        }
    }

このようなもの。StreamWriter オブジェクトを使用します。

編集 明らかに、C:\ドライブなど、または書き込みたい場所への書き込みアクセス権があることを確認してください。

于 2013-07-19T07:16:06.043 に答える