2012-11-22 7 views
5

का उपयोग कर जावा के लिए प्ले फ्रेमवर्क 2.0.3 में जानकारी स्तर के साथ लॉगिंग करना मैं logger.xml में लॉग स्तर को कॉन्फ़िगर करके लॉगिंग को नियंत्रित करना चाहता हूं।प्ले लॉगर

मैंने प्ले किया। Logger.xml में स्तर ERROR सेट के साथ लॉगर लेकिन स्तर INFO के साथ लॉगर, DEBGU भी लॉग हो रहे हैं।

मैंने ALogger लॉग = play.Logger.of (Application.class) का उपयोग किया है; Logger.xml में INFO स्तर के साथ लेकिन केवल त्रुटि लॉग लॉग हो रहे हैं।

मैंने कस्टम लॉगर क्लास को जानकारी और डीबग के लिए कस्टम तरीके से भी बनाने की कोशिश की लेकिन यह काम नहीं कर सका।

मुझे किसी भी मंच/समुदाय पृष्ठों में कोई समाधान नहीं मिला है। कृपया मुझे आगे बढ़ने के लिए मार्गदर्शन करें।

नीचे कोड & भी logger.xml

package test 

import play.mvc.Controller; 
import play.mvc.Result; 
import views.html.index; 

public class Application extends Controller { 

    public static Result index() { 
     return ok(index.render("Rendering ")); 
    } 

    public static Result ourApp() { 
     ALogger log = play.Logger.of(Application.class); 
     log.info("**** Info enabled *****"); 
     log.debug("**** debug enabled *****"); 
     log.error("**** error enabled *****"); 
     if(log.isDebugEnabled()) 
     { 
      log.debug("**** Debug enabled *****"); 
     } 
     if(log.isInfoEnabled()) 
     { 
      log.info("**** Info enabled *****"); 
     } 
     if(log.isErrorEnabled()) 
     { 
      log.error("**** Error enabled *****"); 
     } 
     return ok(); 
    } 

    public static Result getXPage(String patId) { 
     String xValue = TestDao.getXNotes(patId); 
     return ok(test.render(Value)); 
    } 
} 

logger.xml है

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" /> 

    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>${application.home}/logs/app.log</file> 
    <encoder> 
     <pattern>%date - [%level] - from %logger %n%message%n%xException%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 

    <encoder> 
     <pattern>%date - [%level] - %logger{15} - %message%n%xException{5}</pattern> 
    </encoder> 
    </appender> 

    <logger name="play" level="INFO" /> 
    <logger name="application" level="INFO" /> 

    <root level="ERROR"> 
    <appender-ref ref="STDOUT" /> 
    <appender-ref ref="FILE" /> 
    </root> 
</configuration> 

आउटपुट: -

2012-11-22 19:05:43,920 - [INFO] - from play 
Application started (Dev) 

2012-11-22 19:05:44,127 - [ERROR] - from test.Application 
**** error enabled ***** 

उत्तर

7

लकड़हारा nam उपयोग करने का प्रयास ई कक्षा के नाम

ALogger log = play.Logger.of("application"); 

यह वोकर्स ठीक है। इसके अलावा, लाइनों है कि फाइल application.conf

+0

कोई इसका उपयोग केवल इसके लिए कर सकता है: play.Logger # info (java.lang.String)। समस्या यह है कि यह कक्षा नाम मुद्रित नहीं करेगा जिससे आप कक्षा को लॉग कर रहे हैं। प्रिंटर 'play.Logger $ ALogger - 2016-10-02 01: 19: 47,684 - abcxyz मेरे एप्लिकेशन लॉग' – saurabheights

0

मैं एक ही मुद्दे पर अटक और यह भी यह वास्तविक लाइन नंबर और मेरी लॉग के वर्ग के नाम मुद्रित नहीं किया में लॉग स्तर का उल्लेख बाहर टिप्पणी के बाद लंबी खोज मैं Git पर इस project पाया -हब और sl4j लॉगर की तरह निम्नलिखित की कोशिश की और यह काम करता है।

नियंत्रक

private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("controller"); 

Logger.xml

<logger name="controller" level="DEBUG" />

अंत में application.conf में सभी लॉग स्तरों बाहर टिप्पणी की।