Hi, I have one requirement that i have to place the log file in the same directory of solution. That is my solution is placed in [drive]\work\Project1\solution file. But i have to create my log file to [drive]\work\Project1\Log\log.log. How it can be set in app.config file. please help me. thanks in advance...
+1
A:
If you assume the Visual Studio directory layout, then your program will be in [drive]\work\Project1\bin\Release\ (or possibly \Debug). And you want your log file to be in the directory [drive]\work\Project1\Log.
That directory is the same as [drive]\work\Project1\bin\Release....\Log\
So, one way to do it would be to get the executing program's full path name, extract the directory, and append ....\Log. Like this:
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;
}
If you don't want to include System.Windows.Forms, you can instead include System.Reflection and get the assembly's location with Assembly.GetExecutingAssembly().Location.
Jim Mischel
2010-03-05 07:40:39