AC Logging Library Dibangun untuk kinerja tinggi dan set fitur yang kaya.
한국어 | 简体中文
Fitur Utama | Bangun dan instal | Penggunaan Dasar | Berkontribusi
Stumpless memiliki banyak fitur yang membuat logging di C cepat dan mudah:
Tujuan utama perpustakaan ini adalah untuk menyediakan antarmuka logging yang konsisten ke berbagai target log. Ini berarti Anda dapat fokus pada mendefinisikan acara dan ke mana Anda ingin mereka pergi, tanpa menemukan SDK lain atau menambahkan daemon dan plugin untuk mendapatkannya di tempat yang Anda inginkan. Stumpless dapat menulis log ke:
Tidak melihat apa yang Anda butuhkan? Buat masalah dengan permintaan Anda dan kami akan mengerjakannya ke peta jalan kami!
Stumpless hanya membutuhkan cmake dan toolchain build yang didukung Cmake (seperti GCC atau Visual Studio) untuk membangun.
# cloning the latest version of the source tree
git clone [email protected]:goatshriek/stumpless.git
# creating a new build directory
mkdir build
cd build
# configuring the new build
cmake ../stumpless
# building stumpless (with 4 threads - adjust as desired)
cmake --build . --parallel 4
# install the library (you probably need sudo to do this)
sudo cmake --install .Lihatlah instruksi instalasi untuk detail lebih lanjut tentang membangun dan memasang stumpless di lingkungan yang berbeda dan/atau dengan toolchain lainnya.
Cara paling sederhana untuk memulai adalah dengan menggunakan fungsi stumplog sebagai pengganti langsung untuk fungsi syslog perpustakaan standar:
// if you're used to doing this:
syslog ( LOG_INFO | LOG_USER , "My message #%d" , count );
// then you can start by changing to this:
stumplog ( LOG_INFO | LOG_USER , "My message #%d" , count ); Jika Anda belum membuka target, ini akan mencatat pesan ke target default untuk platform: di Linux ini adalah /dev/log , pada sistem Mac ini akan /var/run/syslog , dan pada mesin windows itu adalah log windows event. Jika Anda membuka target atau bahkan beberapa sebelum memanggil stumplog , maka log akan dikirim ke target yang paling baru dibuka.
Jika Anda menginginkan panggilan fungsi yang lebih pendek, Anda dapat menggunakan fungsi stump untuk mengirim pesan ke target saat ini. Anda juga dapat menggunakan penentu format seperti yang Anda lakukan dengan printf :
stump ( "Login attempt failure #%d for user %s" , count , username ); Jika Anda tidak memerlukan penentu format, gunakan salah satu varian _str : Ini lebih cepat dan lebih aman!
stump_str ( "Login failure! See structured data for info." ); If you want to open a specific target rather than using the default, then just open the one you need and start sending messages. Misalnya, untuk masuk ke file bernama example.log :
target = stumpless_open_file_target ( "example.log" );
// uses the last opened target by default
stump ( "Login attempt failure #%d for user %s" , count , username );Mengirim pesan melalui jaringan ke sesuatu seperti splunk atau rsyslog sama mudahnya:
target = stumpless_open_udp4_target ( "send-to-splunk-example" ,
"mylogserver.com" ); // or use an IP
stump ( "Login attempt failure #%d for user %s" , count , username );Jika Anda memiliki beberapa target, Anda dapat mengirim pesan ke target yang dipilih seperti ini:
stumpless_add_message ( target ,
"Login attempt failure #%d for user %s" ,
count ,
username );Adalah umum untuk menentukan tingkat keparahan secara langsung dalam panggilan logging, jadi Stumpless menyediakan beberapa fungsi makro untuk membuat ini kurang verbose dan lebih efisien. Misalnya, untuk mencatat pesan dengan tingkat keparahan info, Anda dapat melakukan ini:
stump_i ( "this gets logged as an info message" ); Dan jika Anda ingin juga melihat file sumber, nomor baris, dan info nama fungsi di setiap pesan Anda dapat menggunakan _t ('T' adalah untuk jejak):
stump_t ( "this includes source info" ); Menggunakan fungsi -fungsi ini memiliki manfaat tambahan yang dapat dihapus pada waktu kompilasi dengan hanya mendefinisikan simbol STUMPLESS_ENABLE_UPTO atau STUMPLESS_DISABLE_DOWNTO . Ini memudahkan untuk mengubah level logging antar bangunan, misalnya memiliki versi prod dan debug tanpa perbedaan dalam kode sumbernya.
// be sure to define this before stumpless.h gets included
#define STUMPLESS_ENABLE_UPTO_INFO
// ...
// this log will go through just fine
stump_i ( "I'm doing that thing you asked" );
// this debugging message is completely removed: no runtime impact whatsoever
stump_d ( "DEBUG info: %d, %d, %s" , thing_1 , thing_2 , stringy_thingy );Lihatlah header di stumpless/level untuk melihat daftar lengkap fungsi singkatan keparahan, atau contoh tingkat keparahan untuk melihat program lengkap dalam tindakan.
Untuk contoh yang lebih rinci dari skenario di atas, penggunaan jenis target tertentu, cara menangani struktur pesan yang lebih rumit, dan lebih banyak lagi periksa contohnya. Ini termasuk file kode contoh yang dianot untuk dikompilasi, dijalankan, dan memodifikasi untuk memulai.
Perhatikan masalah atau punya permintaan fitur? Cukup buat masalah menggunakan salah satu templat, dan kami akan merespons secepat mungkin. Anda juga dapat melihat pedoman kontribusi proyek untuk detail lebih lanjut tentang berbagai cara yang dapat Anda berikan kembali kepada komunitas open source!
Jika Anda ingin benar -benar menulis beberapa kode atau membuat pembaruan sendiri, lihat panduan pengembangan untuk mendapatkan orientasi yang terperinci. Ada beberapa opsi berdasarkan tingkat pengalaman dan keakraban Anda dengan memberikan kontribusi.
Opsi pertama adalah menelusuri daftar masalah yang ditandai dengan label edisi pertama yang baik. Masalah -masalah ini dipilih untuk menjadi jumlah pekerjaan yang kecil namun bermakna, dan menyertakan rincian tentang pendekatan umum yang dapat Anda ambil untuk menyelesaikannya. Mereka adalah tempat yang tepat untuk memulai jika Anda hanya ingin menguji perairan proyek ini atau kontribusi open source secara umum.
Pengembang yang lebih berpengalaman mungkin lebih suka melihat daftar lengkap masalah pada proyek, serta peta jalan. Jika suatu item menarik minat Anda, berikan komentar dalam masalah yang ada atau buka yang baru jika belum ada dan nyatakan niat Anda untuk mengerjakannya sehingga orang lain akan memiliki cara untuk mengetahuinya sedang berlangsung.
Jika Anda ingin tahu tentang bagaimana sesuatu dalam pekerjaan stumpless yang tidak dijelaskan di sini, Anda dapat memeriksa bagian dokumentasi yang sesuai, disimpan di folder Docs. Folder dalam repositori berisi file readme mereka sendiri yang merinci apa yang dikandungnya dan informasi lain yang relevan. Dokumentasi untuk setiap fungsi juga di -host di situs web proyek, untuk perpustakaan C serta ikatan bahasa lainnya seperti C ++.
Stumpless juga menyertakan dokumentasi dalam instalasi lokal dalam bentuk halaman man . Setelah Anda menginstal perpustakaan, Anda dapat memeriksa dokumentasi untuk file header apa pun (dan fungsi yang dikandungnya) dengan menjalankan pria dengan nama header dengan direktori yang diganti dengan garis bawah, misalnya man stumpless_log.h untuk melihat dokumentasi untuk fungsi yang mencatat pesan string sederhana.
Ada juga banyak cara yang dapat Anda jangkau ke tim proyek dan komunitas yang lebih luas untuk dukungan.