Anda tidak dapat masuk ke append terpisah - Anda perlu mengkonfigurasi logger yang berbeda, dan melampirkan append yang sesuai untuk masing-masing. Kemudian catat pesan yang berbeda ke penebang yang berbeda.
Jawaban-jawaban ini sangat membantu, tetapi saya ingin membagikan jawaban saya dengan bagian app.config dan c # code, jadi tidak ada lagi tebakan untuk orang berikutnya.
Saya memiliki pengaturan yang sama ini di salah satu aplikasi saya dan itu tidak berfungsi untuk saya :(
Rom
1
Diskusi ini sudah sangat lama ... harap Anda dapat membalas ... Saya mencoba pendekatan Anda tetapi kedua penebang mencatat pesan yang sama. Seperti di log.Info ("") dan otherLog.Info ("") tulis pesan ke kedua file log secara bersamaan.
SutharMonil
1
@daniel_aren Ya, apa yang saya lakukan adalah saya menggunakan blok appender untuk membuat dua appenders dengan jalur file terpisah (seperti yang di atas ini) .... jadi secara efektif kita memiliki dua blok appender dengan nama: fileappender1 dan fileappender2 ... .
SutharMonil
1
@SutharMonil cukup tambahkan 'additivity = "false" ke node logger, seperti dalam jawaban oleh Gary dan disorot oleh Jason Hernandez. Dalam hal ini masih akan meletakkan semua pesan di root tetapi hanya pesan dari otherLog.Info ("") akan muncul di File1Appender2
freedomn-m
Sejauh ini jawaban yang paling akurat.
Fabricio
41
Saya ingin mencatat semua pesan ke root logger, dan memiliki log terpisah dengan kesalahan, berikut ini caranya:
Jawaban:
Ya, cukup tambahkan beberapa FileAppenders ke logger Anda. Sebagai contoh:
sumber
Jawaban-jawaban ini sangat membantu, tetapi saya ingin membagikan jawaban saya dengan bagian app.config dan c # code, jadi tidak ada lagi tebakan untuk orang berikutnya.
Kemudian dalam kode:
Di sini c: /Console.txt akan berisi "Memproses" ... dan \ SummaryFile.log akan berisi "Processing2"
sumber
<layout> ... </layout>
, tanpanya saya tidak melihat pesan apa pun di file log.Vinay benar. Sebagai jawaban atas komentar Anda dalam jawabannya, salah satu cara Anda dapat melakukannya adalah sebagai berikut:
Beginilah cara saya melakukannya di masa lalu. Maka sesuatu seperti ini untuk log lainnya:
Dan Anda bisa mendapatkan logger normal Anda sebagai berikut:
Baca bagian logger dan appenders dari dokumentasi untuk memahami cara kerjanya
sumber
Saya ingin mencatat semua pesan ke root logger, dan memiliki log terpisah dengan kesalahan, berikut ini caranya:
Perhatikan penggunaan elemen filter.
sumber
Gunakan konfigurasi XML di bawah ini untuk mengonfigurasi log menjadi dua atau lebih file,
Log konfigurasi XML di atas menjadi dua file yang berbeda.
Untuk mendapatkan instance spesifik dari logger secara terprogram,
Anda bisa menambahkan dua atau lebih elemen appender di dalam elemen root log4net untuk masuk ke file banyak.
Info lebih lanjut tentang struktur konfigurasi XML di atas atau appender mana yang terbaik untuk aplikasi Anda, Baca detail dari tautan di bawah ini,
https://logging.apache.org/log4net/release/manual/configuration.html https://logging.apache.org/log4net/release/sdk/index.html
Semoga ini bisa membantu.
sumber