Tôi hoàn toàn mới đối với Log4net. Tôi đã quản lý để đạt được điều gì đó bằng cách thêm tệp cấu hình và ghi nhật ký đơn giản. Tôi đã mã hóa giá trị để được "C:\temp\log.txt"
nhưng điều này không đủ tốt.
Nhật ký phải chuyển đến các thư mục đặc biệt
path = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
và đường dẫn này thay đổi tùy thuộc vào việc bạn đang sử dụng Windows Server 2008 hay Windows XP hoặc Vista, v.v.
Làm cách nào để tôi có thể thay đổi vị trí của tệp trong log4net theo lập trình?
Đây là những gì tôi đã làm:
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="C:\temp\log.txt" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />
</layout>
</appender>
</log4net>
class Program
{
protected static readonly ILog log = LogManager.GetLogger(typeof(Program));
static void Main(string[] args)
{
log4net.Config.XmlConfigurator.Configure();
log.Warn("Log something");
path = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
// How can I change where I log stuff?
}
}
Chỉ cần tìm ra cách tôi có thể thay đổi để đăng nhập mọi thứ vào nơi tôi muốn.
Bất kỳ đề xuất? Cảm ơn rất nhiều