我将 log4net 用于我用 c# 编写的桌面应用程序,并使用 Visual Studio 扩展“Microsoft Visual Studio Installer Projects”(MSI-Installer)进行部署。安装后,我没有看到为 log4net 定义的日志子文件夹。
“ Microsoft Visual Studio 安装程序项目”中的 TARGETDIR 定义为[ProgramFiles64Folder][Manufacturer]\[ProductName]
.
log4net 日志文件定义为
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value=".\log\MyApp.log" />
<!-- ... -->
通过“Microsoft Visual Studio 安装程序项目”-创建的 setup.exe 和 msi-installer 安装应用程序后,尽管显示隐藏文件、文件夹、.. . 已设置。
出于测试目的,我将以下代码添加到我的应用程序中:
// does log file exist and grow ?
string currdir = Directory.GetCurrentDirectory();
MessageBox.Show(currdir, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
string[] sa = File.ReadAllLines(currdir + "\\log\\MyApp.log");
MessageBox.Show(sa.Length.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
// show lines created this year (2019)
string s = "";
for (int i = 0; i < sa.Length; i++)
{
if(sa[i].Contains("2019"))
s = s + sa[i] + "\n";
}
MessageBox.Show(s, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
Program Files\MyManufacturer\MyProductName\log\MyApp.log
因此,可以通过应用程序访问下面的日志文件,我看到它在增长!
所以问题是:日志子目录在哪里?如何使它在 Wndows 资源管理器中可见?这是权限问题吗?