المسجل يكتب في الخطأ القياسي ويهمل الرسائل الأدنى من مستواه
وسجل_منسقا
// المسجل يكتب في الخطأ القياسي ويهمل الرسائل الأدنى من مستواه؛ وسجل_منسقا
// ينسق رسالته بالمكتبة.تنسيق.
استورد std.io.println;
استورد std.io.log;
استورد المكتبة.تنسيق.fmt;
عرف الرئيسية(): عدد {
دع مسجل: مسجل = أنشئ_مسجلا(مستوى_سجل.معلومة());
دع البدء: نص = "البدء";
دع التفصيل: نص = "تفصيل مخفي";
سجل(&مسجل, مستوى_سجل.معلومة(), &البدء);
سجل(&مسجل, مستوى_سجل.تصحيح(), &التفصيل);
دع الملف: نص = "data.csv";
دع ك: نتيجة طبيعي, خطأ_تنسيق = سجل_منسقا(&مسجل, مستوى_سجل.تحذير(), «في {} {} صفا، {:.1}% منها فارغ», [قيمة_تنسيق.نص(&الملف), قيمة_تنسيق.عدد(1280), قيمة_تنسيق.ع64(43.75)]);
اطبع_سطر("تم");
أرجع 0;
}// A logger writes to standard error and drops messages below its level;
// log_fmt formats its message with std.fmt.
import std.io.println;
import std.io.log;
import std.fmt.fmt;
def main(): int {
let logger: logger = new_logger(log_level.info());
let starting: string = "starting";
let detail: string = "hidden detail";
log(&logger, log_level.info(), &starting);
log(&logger, log_level.debug(), &detail);
let file: string = "data.csv";
let w: result uint, fmt_error = log_fmt(&logger, log_level.warn(), "{} has {} rows, {:.1}% empty", [fmt_arg.text(&file), fmt_arg.int(1280), fmt_arg.f64(43.75)]);
println("done");
return 0;
}
التشغيل
بالمفسر، دون ترجمة:
./build/sultanc run examples/ar/io/logging.snأو ترجمه إلى ملف تنفيذي:
./build/sultanc examples/ar/io/logging.sn -o build/example && ./build/example