জ্যাঙ্গো হিরোকুতে লগ না দেখে


14

আমি INFOআমার হেরোকু লগগুলিতে জ্যাঙ্গো দ্বারা নির্মিত লগ এন্ট্রি (একটি স্তরে ) দেখছি না ।

এটি আমার কনফিগারেশন:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse',
        },
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
        'not_development_filter': {
            '()': NotDevelopmentFilter,
        },
    },
    'handlers': {
        'console':{
            'level': 'INFO',
            'class': 'logging.StreamHandler',
        },
        'null': {
            'class': 'django.utils.log.NullHandler',
        },
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['not_development_filter'],
            'class': 'django.utils.log.AdminEmailHandler',
            'include_html': True,
        }
    },
    'loggers': {
        '': {
            'handlers': ['mail_admins', 'console'],
            'level': 'INFO',
        },
        'django': {
            'handlers': ['console'],
        },
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': False,
        },
        'py.warnings': {
            'handlers': ['console'],
        },
    }
}

আমি হিরোকু ইন্টারফেসে লগ এন্ট্রি দেখতে চাই। কোনও ধারণা কেন আমি তাদের সেখানে দেখছি না?


আপনি কিছু দেখতে না পান তাহলে আপনি শুধু printকিছু stdout?
অ্যানাটোলি টেকটোনিক

দু'বছর হয়ে গেছে;)
রাম রাছুম

3
আমি দেখতে পেলাম যে এটি এখনও উত্তরহীন। =)
অ্যানাটোলি টেকটোনিক

1
@ রারামাচুম যদি এটি সমাধান হয়ে যায় তবে একটি উত্তর লিখুন বা এটি কোনওভাবে বন্ধ করুন - তা না হলে এটি মানুষের রাডারে পপ আপ করতে থাকবে।
মাইক ফিডলার

উত্তর:


1

ইন পাইথন-পেয়ে-শুরু অ্যাপ্লিকেশন, একটি লগ যে ট্যাগ করা হয় django, ERRORস্তর লগ আপে দেন herokuলগ, কিন্তু INFOলগ না।

এটি ট্যাগ করা লগগুলির জন্য এটি কাজ করার জন্য এটির জন্য djangoনিম্নলিখিতগুলির মতো একটি কনফিগার প্রয়োজন (আপনার অনুরূপ):

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        '': {
            'handlers': ['console'],
            'level': 'INFO',
        },
        'django': {
            'handlers': ['console'],
            'level': 'INFO',
        },
    },
}

সুতরাং আপনি যদি অন্যটি প্রক্সাইল সহ পাইথন-প্রারম্ভের মতো হতে আপনার কনফিগারেশনটি সামঞ্জস্য করেন তবে আশা করা যায় এটি কার্যকর হবে।

এখানে এমন একটি লগ রয়েছে যা জ্যাঙ্গো ট্যাগ করা হয়নি, যা আমি যুক্ত করেছি views/hello.py:

import logging
logger = logging.getLogger(__name__)

# Create your views here.
def index(request):
    logger.error('testing logging!')
    logger.info('testing info logging')
    logger.debug('testing debug logging')

    # return HttpResponse('Hello from Python!')
    return render(request, 'index.html')

যখন আমি প্রথম চেষ্টা করেছি, কেবল ত্রুটি লগ প্রদর্শিত হবে। যখন আমি আগের স্নিপেটের কোড স্নিপেটে লগিং কনফিগারেশন যুক্ত করেছি তখন তথ্য এবং ত্রুটি লগগুলি প্রদর্শিত হয়েছিল। এগুলি সবই DEBUG = False(রেপোর কোড থেকে পরিবর্তিত, যা রয়েছে DEBUG = True) এর সাথে রয়েছে।

খালি স্ট্রিং কী না রাখার চেয়ে সম্ভবত এটি ভাল, সুতরাং loggersখালি স্ট্রিং ( '') এর চেয়ে আরও সুনির্দিষ্ট এন্ট্রি রাখার জন্য সমস্ত কিছু লগইন করা রয়েছে ।

অবশেষে, আপনার লগ ফাইলে, একটি কেস যেখানে তথ্য লগ কনসোল এ প্রদর্শিত হবে না, বা Heroku লগ: যদি এটি একটি তথ্য লগ-ইন django.request, আপনার কনফিগ সঙ্গে এটি শুধুমাত্র যেতে হবে 'mail_admins'কারণ propagateহল False। আমি মনে করি যে এই ক্ষেত্রে এটি propagateসেট হওয়ার জন্য এটি আরও অর্থবোধ করবে True

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.