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