هل من الممكن أن يقوم log4j2 بطباعة الطابع الزمني الذي قدمه المستخدم بدلاً من وقت النظام؟
-
21-12-2019 - |
سؤال
أكتب تطبيقًا يستخدم البيانات المسجلة مع الطوابع الزمنية.لهذا الغرض، لدي كائن مسؤول عن معرفة الوقت الحالي (الذي كان في الماضي، ولكنه لا يزال رتيبًا).
أرغب في تكوين log4j2، بحيث يتم أخذ الطابع الزمني المطبوع من هذا الكائن وليس من مؤقت الكمبيوتر.هل هو ممكن؟
شكرًا لك.
المحلول
نعم هذا ممكن.يمكنك تحديد خاصية النظام "log4j.Clock" باستخدام اسم الفئة المؤهلة بالكامل للفئة التي تنفذ org.apache.logging.log4j.core.helpers.Clock
واجهه المستخدم.
انظر الوثائق هنا: http://logging.apache.org/log4j/2.x/manual/async.html#AllAsync
اعتبارًا من الإصدار RC1، يعمل هذا فقط مع Async Loggers، ولكن في الإصدار التالي سيعمل هذا مع جميع التكوينات.لاحظ أنه في الإصدار التالي، تم نقل الحزمة core.helpers إلى core.util.
أنظر أيضا https://issues.Apache.org/jira/browse/LOG4J2-628 للتفاصيل.