2011-08-05 31 views
18

Tôi muốn ghi dữ liệu vào một tệp bằng 2 ngôn ngữ byte (tiếng Trung, tiếng Nhật vv) bằng cách sử dụng log4net.Log4Net: Đăng nhập bằng 2 ngôn ngữ byte (tiếng Nhật, tiếng Trung, v.v.)

Cách định cấu hình đúng cách log4net để thực hiện điều đó?

+1

[Tối thiểu tuyệt đối cho mọi nhà phát triển phần mềm Hoàn toàn, tích cực phải biết về Unicode và bộ ký tự] (http://www.joelonsoftware.com/articles/Unicode.html) - Unicode không phải lúc nào cũng có nghĩa là 2 byte. – Justin

+0

@Kragen đồng ý. Tôi quan tâm đến trường hợp 2 byte. Xem ví dụ tôi đã đưa ra. – nakhli

+0

Vì vậy, bạn có nghĩa là UTF-16? (UTF-8 là phổ biến hơn hiện nay) – Justin

Trả lời

38

Mã hóa tệp nhật ký được chỉ định bởi FileAppender.Encoding. Nó có thể được cấu hình bằng cách sử dụng phần tử cấu hình encoding. Ví dụ:

<appender name="FileAppender" type="log4net.Appender.FileAppender"> 
    <file value="file.log" /> 
    <encoding value="utf-8" /> 
    ... 

Giá trị là tên trang mã. Mã hóa tương ứng thu được bằng phương pháp System.Text.Encoding.GetEncoding(string). Để biết danh sách các trang mã, hãy xem lớp Mã hóa documentation.

+1

cảm ơn rất nhiều cho câu trả lời này. bạn tiết kiệm nhiều thời gian hơn cho tôi .. :) – Nalaka

+1

bạn được chào đón ;-) – nakhli

Các vấn đề liên quan