Прослушиватель трассировки не создает файл журнала

Я должен получить файл прослушивателя трассировки, например log.txt (как указано в книге, которую я сейчас читаю)

Но это не происходит для меня. Подскажите, пожалуйста, как я могу это исправить?

Я не делал ничего подобного в прошлом.

// Write to a text file in the project folder 
Trace.Listeners.Add(new TextWriterTraceListener(File.CreateText("log.txt")));

// Text writer is buffered, so this option calls Flush() on all 
// listeners after writing
Trace.AutoFlush = true;
Trace.WriteLine("Trace says I'm watching.");

person Koroshiya    schedule 15.05.2019    source источник
comment
где ищешь файл? Файл будет в той же папке, что и файл *.exe, так как вы дали ему только имя файла без указания пути.   -  person Mong Zhu    schedule 15.05.2019
comment
@MongZhu, на самом деле, будет в рабочем каталоге программы, который может отличаться от местоположения exe (даже если в большинстве случаев они будут одинаковыми)   -  person Gian Paolo    schedule 15.05.2019
comment
@GianPaolo согласен, спасибо за исправление, я включил его в свой ответ.   -  person Mong Zhu    schedule 15.05.2019


Ответы (1)


Подскажите, пожалуйста, как мне это исправить.

Никакой фиксации действительно не требуется. Файл создан, и ваше сообщение находится там, вы просто ищете не тот сайт для файла.

Поскольку вы указали только имя файла, оно будет находиться в рабочем каталоге программы (которое может отличаться от местоположения исполняемого файла, даже если в большинстве случаев они будут одинаковыми). Но сначала взгляните на ту же папку, в которой находится файл *.exe. Если вы хотите, чтобы файл журнала сохранялся в определенном месте, вам нужно указать весь путь:

Я должен получить файл прослушивателя трассировки log.txt (как указано в книге, которую я сейчас читаю), но у меня этого не происходит. Подскажите, пожалуйста, как мне это исправить.

Я не делал ничего, связанного с этим в прошлом.

// Write to a text file in the project folder 
Trace.Listeners.Add(new 
   TextWriterTraceListener(File.CreateText(@"C:\MyLogStorage\log.txt")));
person Mong Zhu    schedule 15.05.2019
comment
Спасибо, я сохранил его в папку, но я не мог найти место, где он будет храниться по умолчанию, о котором вы говорили. Вы можете помочь мне с этим? - person Koroshiya; 15.05.2019
comment
@Koroshiya не за что. Где вы искали файл? - person Mong Zhu; 15.05.2019
comment
Где я должен искать? - person Koroshiya; 15.05.2019
comment
@Koroshiya, ты знаешь, где твой *.exe файл? в папке bin\Debug например? - person Mong Zhu; 15.05.2019
comment
Какой .exe файл? Папка, в которой находится проект? - person Koroshiya; 15.05.2019
comment
@Koroshiya, когда вы компилируете свою программу, она создает файл YourProgram.exe, который находится в ..\SolutionFolder\ExecuteableProjectFolder\bin\Debug. Вы сделали консольное приложение? ВПФ? Винформс? - person Mong Zhu; 15.05.2019
comment
Ага, понял. Спасибо - person Koroshiya; 15.05.2019