كيف يمكنني إنشاء سجل مسمى بـ $ TOMCAT_HOME/سجلات لـ servlet الخاص بي؟

أنا حاليا تسجيل عبر أبسط الطرق داخل servlet بلدي باستخدام Tomcat. أستخدم سجل ServletConfig.getServletContext() لتسجيل النشاط. هذا يكتب إلى localhost.YYYY-MM-DD.log في $ TOMCAT_HOME/logs.

لا أريد الابتعاد عن بساطة آلية التسجيل هذه ما لم يكن ذلك ضروريًا تمامًا. ولكن أود أن اسم ملف السجل الخاص بي. بدلاً من "localhost" .YYYY-MM-DD.log ، توجد طريقة لجعله الكتابة إلى "myAppName" .YYYY-MM-DD.log. أعلم أنه يمكنني إنشاء آلية خاصة بي ، ولكن مرة أخرى ، أنا أبحث عن البساطة هنا.

أنا على أمل الابتعاد عن إطار كامل مثل Log4j.

1
أستطيع أن أفعل ما أريد (انظر الإجابة أدناه) بدون إطار كامل وكل ما يتماشى معه ، الجرة ، منحنى التعلم ، وما إلى ذلك في بعض الأحيان أقل.
وأضاف المؤلف dacracot, مصدر
ماذا سيكون من الخطأ في إطار مثل Log4j؟ هو المعيار ولديه واجهة بسيطة جدا.
وأضاف المؤلف Hans Doggen, مصدر

2 إجابة

لذا هناك طريقة عبر $ TOMCAT_HOME/conf/logging.properties دون لمس رمز servlet الخاص بي ...

قبل...

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

بعد...

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler, 6localhost.org.apache.juli.FileHandler

ثم أضف ...

6localhost.org.apache.juli.FileHandler.level = FINE
6localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
6localhost.org.apache.juli.FileHandler.prefix = myAppName.

و أضف...

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/myAppName].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/myAppName].handlers = 6localhost.org.apache.juli.FileHandler

وترتد قط. هذا إنشاء $ TOMCAT_HOME/logs/myAppName.2008-10-14.log مع my رسائل servletConfig.getServletContext (). log() التبسيطية فقط.

0
وأضاف

بالنسبة لـ Tomcat 6.x ، يمكنك تغيير تكوين التسجيل في conf/logging.properties.

لكنني أفضل تكوين منفصل مع Log4j ...

0
وأضاف
هل هناك طريقة لجعل عمليات التسجيل/الخصائص محددة لسياق servlet الخاص بي؟ أيضا ، أنا أفضل البساطة ، و Log4j لا يضربني بسيطة (ليس بالضرورة صعبة ، ولكن أكثر من الخيارات المثقلة).
وأضاف المؤلف dacracot, مصدر
log4j بسيط جدا للاستخدام. ما عليك سوى أخذ الخمس دقائق اللازمة لإعداده لأول مرة ، واستخدام نفس ملف log4j.properties أو log4j.xml ، وستكون سعيدًا جدًا بالنتائج (وتساءل لماذا لم تستخدمه من قبل! ).
وأضاف المؤلف matt b, مصدر