Настройка пути к файлу журнала в app.config - PullRequest
0 голосов
/ 05 марта 2010

У меня есть одно требование, что я должен поместить файл журнала в тот же каталог решения. То есть мое решение помещается в [диск] \ work \ Project1 \ файл решения. Но мне нужно создать свой лог-файл для [drive] \ work \ Project1 \ Log \ log.log. Как это можно установить в файле app.config. Помогите мне, пожалуйста. заранее спасибо ...

1 Ответ

3 голосов
/ 05 марта 2010

Если вы принимаете макет каталога Visual Studio, то ваша программа будет находиться в [drive] \ work \ Project1 \ bin \ Release \ (или, возможно, \ Debug). И вы хотите, чтобы ваш файл журнала находился в каталоге [диск] \ work \ Project1 \ Log.

Этот каталог совпадает с [drive]\work\Project1\bin\Release\..\..\Log\

Итак, один из способов сделать это - получить полный путь к исполняемой программе, извлечь каталог и добавить .... \ Log. Как это:

using System.IO; // for Path class
using System.Windows.Forms;  // for Application.ExecutablePath

...

string GetLogFilePath()
{
    string ProgramPath = Path.GetDirectory(Application.ExecutablePath);
    string LogPath = Path.Combine(ProgramPath, @"\..\..\Log\");
    return LogPath;
}

Если вы не хотите включать System.Windows.Forms, вы можете вместо этого включить System.Reflection и получить местоположение сборки с помощью Assembly.GetExecutingAssembly (). Location.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...