2010-10-04 14 views
12

mam poniżej ustawień w moim pliku konfiguracyjnego selera:Jak włączyć rotację plików dziennika dla selera z djcelery?

  1. CELERYD_LOG_DEBUG = 'false'
  2. CELERYD_LOG_FILE = r '/ var/log/seler/celeryd.log'
  3. CELERYD_LOG_LEVEL = "ERROR"

Przejrzałem plik ustawień selera i nie ma opcji określenia limitu rozmiaru pliku dziennika w konfiguracji. Nawet kod wygląda jak przy użyciu StreamHandler zamiast klasy RotationHandler. Wszelkie wskazówki/wskazówki?

Dzięki.

Odpowiedz

21

Dla rotacji dziennika na Ubuntu, jeśli masz swój dziennik Seler w/var/log/seler/ celeryd.log można użyć konfiguracji jak ten powyżej, aby zrobić tygodniowy obrót dziennika z /etc/logrotate.d /.

/var/log/celery/*.log { 
    weekly 
    missingok 
    rotate 52 
    compress 
    delaycompress 
    notifempty 
    copytruncate 
} 
+0

Próbowałem tego, ale nie pracowałem dokładnie dla mnie. Tworzy pliki dzienne (w moim przypadku), ale po obróceniu dziennika, nawet jeśli plik dziennika nadal istnieje, pozostaje on pusty do momentu ponownego zamówienia selera i selera. Czy istnieje sygnał, że mogę wysłać proces, aby powiadomił go o "zmianie" pliku? –

+0

Musisz użyć selera 2.2.5 lub nowszego, aby obrót logował się bezproblemowo. http://docs.celeryproject.org/en/latest/changelog.html#v225-news –

+0

Z mojego requirements.txt: seler == 2.5.3 django-seler == 2.5.5 Moja startowym command: python manage.py celeryd_detach --pidfile = {lokalizacja_projektu} /celeryd.pid --autoscale = 10,10 --autoreload --loglevel = INFO - logfile = {lokalizacja_logowania} /celeryd.log --pythonpath =/usr/share/pyshared Po obróceniu dziennika pozostaje puste dopóki nie zabiję poprzedniej pracy i ją zrestartuję. –

1

Spróbuj użyć urządzenia [WatchedFileHandler][1]. Zauważa, że ​​plik został obcięty lub zmieniony w inny sposób i ponownie otwiera plik. Zauważ, że musisz ustawić CELERY_HIJACK_ROOT_LOGGER = False, a następnie skonfigurować ten rejestrator sam, i loguj.getLogger ("custom_logger") wewnątrz zadań samodzielnie. Zobacz: this post o tym, w jaki sposób wbudowana konfiguracja rejestrowania w aplikacji Celery nie jest elastyczna i dla dokładnej kontroli.