ห้องสมุดการบันทึก AC ที่สร้างขึ้นเพื่อประสิทธิภาพสูงและชุดคุณสมบัติที่หลากหลาย
한국어 | 简体中文
คุณสมบัติที่สำคัญ | สร้างและติดตั้ง | การใช้งานขั้นพื้นฐาน การบริจาค
Stumness มีคุณสมบัติมากมายที่ทำให้การบันทึกใน C เร็วและง่าย:
เป้าหมายหลักของไลบรารีนี้คือการให้อินเทอร์เฟซการบันทึกที่สอดคล้องกันกับเป้าหมายการบันทึกที่หลากหลาย ซึ่งหมายความว่าคุณสามารถมุ่งเน้นไปที่การกำหนดกิจกรรมและสถานที่ที่คุณต้องการให้พวกเขาไปโดยไม่ต้องค้นหา SDK อื่น ๆ หรือเพิ่ม daemons และปลั๊กอินเพื่อให้พวกเขาในที่ที่คุณต้องการ stumpless สามารถเขียนบันทึกไปที่:
ไม่เห็นสิ่งที่คุณต้องการ? สร้างปัญหากับคำขอของคุณและเราจะทำงานในแผนงานของเรา!
Stumness ต้องใช้ cmake และ cmake ที่รองรับการสร้างเครื่องมือ (เช่น GCC หรือ Visual Studio) เพื่อสร้าง
# 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 .ตรวจสอบคำแนะนำในการติดตั้งเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการสร้างและการติดตั้งที่มีความวุ่นวายในสภาพแวดล้อมที่แตกต่างกันและ/หรือกับเครื่องมืออื่น ๆ
วิธีที่ง่ายที่สุดในการเริ่มต้นคือการใช้ฟังก์ชัน stumplog เป็นการแทนที่โดยตรงสำหรับฟังก์ชั่น syslog ของไลบรารีมาตรฐาน:
// 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 ); หากคุณยังไม่ได้เปิดเป้าหมายสิ่งนี้จะบันทึกข้อความไปยังเป้าหมายเริ่มต้นสำหรับแพลตฟอร์ม: บน Linux นี่คือ /dev/log บนระบบ Mac จะเป็น /var/run/syslog และบนเครื่อง Windows เป็นบันทึกเหตุการณ์ Windows หากคุณเปิดเป้าหมายหรือแม้กระทั่งไม่กี่ก่อนที่จะเรียก stumplog การบันทึกจะถูกส่งไปยังเป้าหมายที่เปิดล่าสุดล่าสุด
หากคุณต้องการการโทรฟังก์ชั่นที่สั้นกว่าคุณสามารถใช้ฟังก์ stump เพื่อส่งข้อความไปยังเป้าหมายปัจจุบัน นอกจากนี้คุณยังสามารถใช้ตัวระบุรูปแบบได้เช่นเดียวกับ printf :
stump ( "Login attempt failure #%d for user %s" , count , username ); หากคุณไม่ต้องการตัวระบุรูปแบบให้ใช้หนึ่งในตัวแปร _str : มันเร็วขึ้นและปลอดภัยกว่า!
stump_str ( "Login failure! See structured data for info." ); หากคุณต้องการเปิดเป้าหมายเฉพาะแทนที่จะใช้ค่าเริ่มต้นให้เปิดเป้าหมายที่คุณต้องการและเริ่มส่งข้อความ ตัวอย่างเช่นในการบันทึกไปยังไฟล์ชื่อ 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 );การส่งข้อความผ่านเครือข่ายไปยังบางอย่างเช่น Splunk หรือ Rsyslog นั้นง่ายเหมือน:
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 );หากคุณมีหลายเป้าหมายคุณสามารถส่งข้อความไปยังเป้าหมายที่เลือกเช่นนี้:
stumpless_add_message ( target ,
"Login attempt failure #%d for user %s" ,
count ,
username );เป็นเรื่องปกติที่จะระบุระดับความรุนแรงโดยตรงในการบันทึกการโทรดังนั้น Stumness จึงมีฟังก์ชั่นแมโครบางอย่างเพื่อให้ verbose น้อยลงและมีประสิทธิภาพมากขึ้น ตัวอย่างเช่นในการบันทึกข้อความที่มีความรุนแรงของข้อมูลคุณสามารถทำได้:
stump_i ( "this gets logged as an info message" ); และหากคุณต้องการดูไฟล์แหล่งที่มาหมายเลขบรรทัดและข้อมูลชื่อฟังก์ชันในแต่ละข้อความคุณสามารถใช้ _t ('t' สำหรับการติดตาม):
stump_t ( "this includes source info" ); การใช้ฟังก์ชั่นเหล่านี้มีประโยชน์เพิ่มเติมที่สามารถลบออกได้ในเวลาคอมไพล์โดยเพียงแค่กำหนดสัญลักษณ์ STUMPLESS_ENABLE_UPTO หรือ STUMPLESS_DISABLE_DOWNTO สิ่งนี้ทำให้ง่ายต่อการเปลี่ยนระดับการบันทึกระหว่างการสร้างเช่นมีเวอร์ชัน Prod และ Debug โดยไม่มีความแตกต่างในซอร์สโค้ดของพวกเขา
// 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 );ตรวจสอบส่วนหัวในระดับที่ไม่ได้รับ/ระดับเพื่อดูรายการฟังก์ชั่นชวเลขความรุนแรงทั้งหมดหรือตัวอย่างระดับความรุนแรงเพื่อดูโปรแกรมที่สมบูรณ์ในการดำเนินการ
สำหรับตัวอย่างรายละเอียดเพิ่มเติมของสถานการณ์ข้างต้นการใช้ประเภทเป้าหมายเฉพาะวิธีจัดการโครงสร้างข้อความที่ซับซ้อนมากขึ้นและตรวจสอบตัวอย่างเพิ่มเติม สิ่งเหล่านี้รวมถึงไฟล์โค้ดตัวอย่างที่ได้รับการพิจารณาเพื่อรวบรวมรันและแก้ไขเพื่อให้คุณเริ่มต้น
สังเกตเห็นปัญหาหรือมีคำขอคุณสมบัติ? เพียงสร้างปัญหาโดยใช้เทมเพลตหนึ่งและเราจะตอบสนองอย่างรวดเร็วที่สุดเท่าที่จะทำได้ นอกจากนี้คุณยังสามารถดูแนวทางการบริจาคของโครงการสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการต่าง ๆ ที่คุณสามารถตอบแทนให้กับชุมชนโอเพ่นซอร์ส!
หากคุณต้องการเขียนโค้ดหรือทำการอัปเดตด้วยตัวเองให้ดูที่คู่มือการพัฒนาเพื่อรับการวางแนวโดยละเอียด มีตัวเลือกเล็กน้อยตามระดับประสบการณ์และความคุ้นเคยกับการบริจาค
ตัวเลือกแรกคือการเรียกดูรายการปัญหาที่ทำเครื่องหมายด้วยฉลากที่ดีปัญหาแรก ปัญหาเหล่านี้ได้รับเลือกให้เป็นงานที่มีขนาดเล็ก แต่มีความหมายและรวมถึงรายละเอียดเกี่ยวกับวิธีการทั่วไปที่คุณสามารถทำได้เพื่อให้เสร็จสมบูรณ์ พวกเขาเป็นสถานที่ที่ยอดเยี่ยมในการเริ่มต้นหากคุณกำลังมองหาการทดสอบน่านน้ำของโครงการนี้หรือการมีส่วนร่วมของโอเพ่นซอร์สโดยทั่วไป
นักพัฒนาที่มีประสบการณ์มากขึ้นอาจต้องการดูรายการปัญหาทั้งหมดในโครงการรวมถึงแผนงาน หากรายการดึงดูดความสนใจของคุณให้แสดงความคิดเห็นในปัญหาที่มีอยู่หรือเปิดรายการใหม่ถ้ายังไม่มีอยู่และระบุความตั้งใจของคุณที่จะทำงานเพื่อที่คนอื่นจะมีวิธีที่จะรู้ว่ากำลังดำเนินการอยู่
หากคุณอยากรู้ว่ามีบางสิ่งที่ไม่ได้อธิบายที่ไม่ได้อธิบายไว้ที่นี่คุณสามารถตรวจสอบส่วนที่เหมาะสมของเอกสารที่เก็บไว้ในโฟลเดอร์เอกสาร โฟลเดอร์ในที่เก็บมีไฟล์ readme ของตัวเองที่ให้รายละเอียดสิ่งที่พวกเขามีและข้อมูลอื่น ๆ ที่เกี่ยวข้อง เอกสารสำหรับแต่ละฟังก์ชั่นนั้นโฮสต์บนเว็บไซต์โครงการสำหรับทั้งไลบรารี C รวมถึงการเชื่อมโยงภาษาอื่น ๆ เช่น C ++
Stumness ยังรวมถึงเอกสารในการติดตั้งท้องถิ่นในรูปแบบของหน้า man เมื่อคุณติดตั้งไลบรารีแล้วคุณสามารถตรวจสอบเอกสารสำหรับไฟล์ส่วนหัวใด ๆ (และฟังก์ชั่นที่มี) โดยเรียกใช้ Man ด้วยชื่อของส่วนหัวที่มีไดเรกทอรีที่ถูกแทนที่ด้วยขีดล่างเช่น man stumpless_log.h เพื่อดูเอกสารสำหรับฟังก์ชั่นที่บันทึกข้อความสตริงง่าย ๆ
นอกจากนี้ยังมีหลายวิธีที่คุณสามารถติดต่อทีมงานโครงการและชุมชนที่กว้างขึ้นเพื่อรับการสนับสนุน