Tôi hoàn toàn mới đối với Log4net.
Tôi đã quản lý để có được một cái gì đó bằng cách thêm một tập tin cấu hình và đăng nhập đơn giản.
Tôi đã mã hóa cứng giá trị thành "C:\temp\log.txt"
nhưng điều này không đủ tốt.Làm cách nào để thay đổi vị trí tệp theo chương trình?
Các bản ghi phải đi đến các thư mục đặc biệt
path = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
và con đường này thay đổi tùy thuộc cho dù bạn đang sử dụng Windows Server 2008 hoặc Windows XP hoặc Vista vv ...
Làm thế nào tôi có thể chỉ cần thay đổi vị trí của tập tin trong log4net 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 phải tìm ra làm thế nào tôi có thể thay đổi để đăng nhập công cụ để nơi tôi muốn.
Mọi đề xuất? Cảm ơn rất nhiều
Bạn cần phải khai thác thông qua IAppenders của logger của bạn và thiết lập FileAppender.File đến con đường sản lượng yêu cầu của bạn. Đây là [ví dụ thực sự hay] (http://insario.com/blog/jfk/archive/2004/11/30/164.aspx). –