【发布时间】:2020-04-29 09:19:09
【问题描述】:
有没有办法隐藏用于 log4net c# 的主文件? 当你使用 log4net 时,你在配置文件中设置了创建日志文件并在那里记录的路径。 路径中的文件名是发生日志记录的地方,基于此,我每小时记录一些内容时都会创建一个文件。
我可以将文件设置为隐藏,但我无权访问它。
您能否帮我提供一个解决方案,我仍然可以根据配置文件每小时创建日志文件,但进程访问的主文件被隐藏?我一直在寻找类似的东西,但我什么也没找到。
这是我使用的代码:
<appender name="ExampleLog" type="RollingFileAppender">
<file value="Logs/Log.txt" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMddHH" />
<maxSizeRollBackups value="240" />
<maximumFileSize value="20MB" />
<CountDirection value="1" />
<PreserveLogFileNameExtension value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyy/MM/dd HH:mm:ss:fff} %message%newline" />
</layout>
</appender>
public override void OpenFile(string fileName, bool append)
{
fileName = File;
FileInfo fileInfo = new FileInfo(fileName);
fileInfo.Attributes = FileAttributes.Hidden;
base.OpenFile(fileName, append);
}
【问题讨论】:
-
你指的是什么“主文件”?
-
到 Log.txt,我希望隐藏该文件,但基于此每小时创建文件。如您所见,我在配置中设置了 dataPattern,用于每小时创建一个文件,但是当我将 Log.txt 设置为隐藏时,该文件夹也被隐藏