2015-05-18 8 views
15

जो भी iex> या mix run -e "My.code" का उपयोग कर जब मैं वाह्य का उपयोग कर मिश्रण प्रोजेक्ट को चलाने में, Ecto के डिबगिंग तंत्र की तरह SQLs का एक समूह प्रदर्शितअक्षम अमृत Ecto डिबग आउटपुट

नीचे
16:42:12.870 [debug] SELECT a0.`id` FROM `account` AS a0 WHERE (a0.`account_name` = ?) ["71000000313"] (39.6ms)` 
... 

जब मैं अब और डिबग आउटपुट की आवश्यकता नहीं है, मैं इसे कैसे बंद कर सकता हूं, मुझे एक्टो लॉग स्तर की सामग्री को बदलने के बारे में कुछ भी नहीं मिल रहा है।

अग्रिम धन्यवाद।

उत्तर

10

आपका लॉगिंग स्तर आपके config/#{env}.exs फ़ाइलों में कॉन्फ़िगर किया गया है। आप config/prod.exs में देखें, तो यह सबसे अधिक संभावना पहले से ही उस स्तर :info करने के लिए सेट किया गया है:

config :logger, level: :info 

तो तुम MIX_ENV=prod iex -S mix साथ अनुप्रयोग चलाने के लिए यदि आप डिबग आउटपुट नहीं मिलेगा। इसका मतलब है कि जब आप MIX_ENV=prod mix release जैसे कुछ के साथ रिलीज बनाते हैं तो परिणामी बिल्ड इस आउटपुट का उत्पादन नहीं करेगा। वैकल्पिक रूप से आप उचित config/#{env}.exs को बदलकर जो भी पर्यावरण चाहते हैं, उसके लिए आप level: :info या :warn सेट कर सकते हैं।

+0

का उपयोग करने की आवश्यकता है, आपने मेरा दिन बनाया !! –

19

यदि आप Ecto (प्री 2.0) लॉग स्तर (और केवल इसे) बदलना चाहते हैं तो आप log_level कॉन्फ़िगरेशन विकल्प का उपयोग कर सकते हैं जिसे आपके अनुप्रयोगों में एक्टो रिपोजिटरी कॉन्फ़िगरेशन में सेट किया जा सकता है। उदाहरण में:

config :my_app, MyApp.Repo, 
    adapter: Ecto.Adapters.Postgres, 
    database: "my_app", 
    username: "my_app", 
    password: "secret", 
    hostname: "localhost", 
    port: 5433, 
    log_level: :info 

बेशक आप ऊपर हमेशा Logger विन्यास लॉग level विकल्प को बदल सकते हैं बगल में आप समग्र लॉग स्तर (न केवल Ecto लॉग स्तर) जैसे बदलना चाहते हैं:

config :logger, level: :info

अद्यतन (@Milos से):

Ecto 2.0.0 के बाद, log_level: :info के बजाय आपको loggers: [{Ecto.LogEntry, :log, [:info]}]

+5

यह सेटिंग 'log_level:: info'' के बजाय Ecto 2.0.0 में बदल दी गई थी, आपको 'लॉगर्स: [{Ecto.LogEntry,: log, [: info]}]' का उपयोग करने की आवश्यकता है। – Milos

+0

मिलोस, धन्यवाद। क्या आप इसके लिए एक नया शीर्ष-स्तरीय उत्तर बना सकते हैं? – ghayes

+3

आप 'लॉगर्स' के मान को रिक्त सूची में सेट करके लॉगिंग से एक्टो को भी रोक सकते हैं, जैसे 'लॉगर्स: [] '। –

संबंधित मुद्दे