Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#.NET-错误日志记录和相关文件路径_C#_File_Logging_Relative Path - Fatal编程技术网

C#.NET-错误日志记录和相关文件路径

C#.NET-错误日志记录和相关文件路径,c#,file,logging,relative-path,C#,File,Logging,Relative Path,我在C#中有一个类,它在发生异常时将错误消息保存在日志文件中。现在,我想将日志文件保存在包含应用程序(在我的情况下是网站)文件的同一文件夹中。我尝试使用Environment.CurrentDirectory,但它无法检索到我网站的路径。我能做些什么,请利用一个相对的文件路径,其中指向网站的目录 这是类的代码。如您所见,路径是绝对的。我想将其更改为指向网站目录中文件夹的相对文件路径。通常路径。GetDirectoryName(Assembly.GetExecutionGassembly().Lo

我在C#中有一个类,它在发生异常时将错误消息保存在日志文件中。现在,我想将日志文件保存在包含应用程序(在我的情况下是网站)文件的同一文件夹中。我尝试使用Environment.CurrentDirectory,但它无法检索到我网站的路径。我能做些什么,请利用一个相对的文件路径,其中指向网站的目录


这是类的代码。如您所见,路径是绝对的。我想将其更改为指向网站目录中文件夹的相对文件路径。

通常
路径。GetDirectoryName(Assembly.GetExecutionGassembly().Location)
返回当前程序集所在的路径。你可以用

string logName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "MyLogFile.log");
创建日志文件名


问题是操作系统是否允许登录到应用程序的文件夹。此外,对于Web应用程序,日志文件将公开可见,并可通过Web浏览器访问

通常
路径。GetDirectoryName(Assembly.GetExecutionGassembly().Location)
返回当前程序集所在的路径。你可以用

string logName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "MyLogFile.log");
创建日志文件名

问题是操作系统是否允许登录到应用程序的文件夹。此外,对于Web应用程序,日志文件将公开可见,并可通过Web浏览器访问,供网站使用:

HttpContext.Current.Server.MapPath("~/");
网站使用:

HttpContext.Current.Server.MapPath("~/");

您也可以尝试以下解决方案:

string path  = AppDomain.CurrentDomain.BaseDirectory + "anotherFolder";

这将把应用程序的基本目录和项目内的文件夹

您也可以尝试以下解决方案:

string path  = AppDomain.CurrentDomain.BaseDirectory + "anotherFolder";

这将把应用程序的基本目录和项目内的文件夹

非常感谢:))这正是我需要的:)请注意,将日志文件写入web应用程序的目录可能有潜在危险。看我的答案。非常感谢托尔斯滕:)我不知道。我想我最好还是保持原样,因为我的目标是用自定义错误页替换SQL server提供的调试错误页,并将错误消息保存在日志文件中,以供管理员查看。非常感谢:))这正是我所需要的:)请注意,将日志文件写入web应用程序的目录可能非常困难有潜在危险。看我的答案。非常感谢托尔斯滕:)我不知道。我想我最好还是保持原样,因为我的目标是用自定义错误页替换SQL server提供的调试错误页,并将错误消息保存在日志文件中,以供管理员查看。