logging फ्रेमवर्क 2.0 और ईबीएन एसक्यूएल लॉगिंग प्ले करें




playframework-2.0 ebean (3)

साथ ही आप GetGeneratedSQL विधि का उपयोग कर स्पॉट पर एसक्यूएल प्राप्त कर सकते हैं। नीचे कोड नमूना

        Query<PreventionActivity> where = find.where(
            and(
                    and(
                    ge("Age_FROM", age)
                    , or(le("Age_TO", age), eq("Age_TO", 0))
                    )
                    , or(eq("Gender_CD", genderCd), eq("Gender_CD", "*"))
            )
    );

    List<PreventionActivity> list = where.findList();
    Logger.info("sql ");
    Logger.info(where.getGeneratedSql());

मैं जांचना चाहता हूं कि ईबीन द्वारा एसक्यूएल स्टेटमेंट जेनरेट किए गए हैं, यह पता लगाने के लिए कि मेरे प्ले 2.0 एप्लिकेशन में कुछ अपवाद (एसक्यूएल सिंटैक्स से संबंधित) क्यों हो रहे हैं। क्या Play Framework 2.0 में ईबीन द्वारा उत्पन्न SQL कथन लॉग करने का कोई तरीका है?

प्ले 1.x में, एक jpa.debugSQL कॉन्फ़िगरेशन विकल्प है, जो सत्य पर सेट है, तो यह ठीक से करेगा। क्या Play 2.0 के लिए ईबीन के लिए एक समान सेटिंग मौजूद है? Play 2.0 के ईबीन के बारे में प्रलेखन पृष्ठ अभी भी थोड़ा दुर्लभ है।

मैंने अभी तक क्या प्रयास किया है:

मैंने अपने कंट्रोलर और ग्लोबल ऑब्जेक्ट के onStart / onRequest विधियों में इन विधि कॉल को जोड़ा है, लेकिन इसका कोई प्रभाव नहीं है:

Ebean.getServer(null).getAdminLogging().setLogLevel(LogLevel.SQL);
Ebean.getServer(null).getAdminLogging().setDebugGeneratedSql(Play.isDev());

मैंने application.conf से लॉग स्तर को संशोधित किया है, लेकिन यह या तो मदद नहीं करता है (यहां तक ​​कि लॉग स्तर TRACE )।


पार्टी के लिए देर हो जाने के लिए खेद है, लेकिन मैं इसे विकास में उपयोग करता हूं:

db.default.logStatements=true

logger.com.jolbox=DEBUG

उन दो लाइनों को application.conf में जोड़ें और आप जाने के लिए अच्छे हैं।

यह सभी एसक्यूएल स्टेटमेंट्स आउटपुट करता है। आशा करता हूँ की ये काम करेगा।


आप निम्न कथन का उपयोग कर एसक्यूएल लॉगिंग सक्षम कर सकते हैं

Ebean.getServer(null).getAdminLogging().setDebugGeneratedSql(true);

उदाहरण के लिए onRequest इंटरसेप्टर में इस कमांड का प्रयोग करें

अगली रिलीज में, आप निश्चित रूप से फ़ाइल ebean.properties में इसे कॉन्फ़िगर करने में सक्षम ebean.properties

// Tips : use Play.isDev() to log only in dev mode




ebean