Tôi nghĩ rằng log4net đang làm mọi thứ bạn liệt kê cho tôi.
Người nghe có thể nghe được âm thanh như người phụ thêm - có rất nhiều người trong số họ và thậm chí tôi đã tấn công tệp nhật ký cuộn để luôn kết thúc bằng .log (đối với liên kết tệp), thêm trường cc vào ứng dụng email và cuối cùng đã điều chỉnh giá trị yêu thích của tôi cho appender console màu. Nếu tôi có thể quá táo bạo - giao diện điều khiển màu của tôi hạnh phúc:
<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
<!-- Can Use:
Blue
Green
Red
White
Yellow
Purple
Cyan
HighIntensity
-->
<mapping>
<level value="FATAL" />
<foreColor value="Yellow, HighIntensity" />
<backColor value="Red" />
</mapping>
<mapping>
<level value="ERROR" />
<foreColor value="White" />
<backColor value="Purple, HighIntensity" />
</mapping>
<mapping>
<level value="WARN" />
<backColor value="Blue" />
<foreColor value="White" />
</mapping>
<mapping>
<level value="INFO" />
<backColor value="Green" />
<foreColor value="White" />
</mapping>
<mapping>
<level value="DEBUG" />
<foreColor value="White" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<!--<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />-->
<!--<conversionPattern value="%-5level %file:%line - %message%newline" />-->
<conversionPattern value="%level %logger:%line %newline %message%newline" />
</layout>
tùy chỉnh dấu vết công tắc: Log4net chỉ đi kèm với lỗi nghiêm trọng WARN INFO DEBUG theo thứ tự tăng tính cách rườm rà. Người duy nhất tôi thực sự bỏ lỡ là KIỂM TOÁN cho những người đã làm gì đăng nhập.
Tùy chỉnh cấu hình: Tôi sử dụng một file log4net.config mà tôi tải lên trong thời gian chạy (hoặc viết một bản ghi vào c:. \ Rên rỉ mà tôi không thể tìm ra cấu hình)
Try
' Get log4net configuration from file
Dim logConfigFile As FileInfo
logConfigFile = New FileInfo(".\log4net.config")
If logConfigFile.Exists Then
XmlConfigurator.Configure(logConfigFile)
Else
CreateEmergenceLogFile(logConfigFile.FullName)
End If
Catch ex As Exception
Console.Out.WriteLine("Could not load the log4net config file")
End Try
chỉ là một lớn thiết lập của TraceListeners: xin lỗi bỏ qua cái đó - Tôi sẽ lấy từ của bạn cho nó.
Tương quan hoạt động/phạm vi: ý bạn là mọi tệp (lớp đọc) đều có nhật ký được đặt tên riêng có thể có các ngưỡng cấp nhật ký riêng biệt. Trong thực tế, bạn có thể phân khúc khai thác gỗ thậm chí trong một lớp học duy nhất (mà trong thực tế có thể đã phát triển để làm quá nhiều ...)
trong một tập tin lớp:
Private Shared _logger As log4net.ILog = _
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
Private Shared _loggerAttribute As log4net.ILog = _
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName & ".Attribute")
Private Shared _loggerCache As log4net.ILog = _
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName & ".Cache")
Dịch vụ vết Viewer: trong log4net .config:
<logger name="NipissingU.ADWrapper.EntryTools.Attribute">
<level value="INFO" />
</logger>
<logger name="NipissingU.ADWrapper.EntryTools.Cache">
<level value="WARN" />
</logger>
Tất cả cấu hình này có thể định cấu hình trong app.config/web.config: cũng có thể là một điều tốt trong ASP.NET, tôi không biết, nhưng khi làm cho ứng dụng đếm khách hàng phong phú Tôi thích một tập tin cấu hình riêng biệt.
Mọi thứ ở đây chỉ là các mẹo sử dụng nhỏ của riêng tôi.
hth, -Mike
Tôi thấy câu hỏi này xứng đáng với SO và cũng tìm thấy một số câu trả lời đủ thông tin để tôi không còn phải tìm kiếm thêm thông tin. Bất cứ ai đóng câu hỏi này là 'không xây dựng' tôi đặt câu hỏi có hay không nó đã được thực hiện vì một thiên vị đối với log4net và một sự không hài lòng chung với dòng câu trả lời được nhận. Câu hỏi này và nhiều câu trả lời giúp làm rõ sự sợ hãi, không chắc chắn, nghi ngờ và thông tin sai lệch đơn giản xung quanh cả log4net và .NET Tracing. –
Tôi cũng thấy câu hỏi này hữu ích. Và trên thực tế phù hợp chính xác những gì tôi đang tìm kiếm. – Darkonekt