file (log) που να διατηρεί το μέγεθος του
George Notaras
gnot at g-loaded.eu
Sat Nov 29 04:50:05 EET 2008
Thanasis wrote:
> Θέλω να δημιουργήσω το εξής:
> Σε ένα screen session, να τρέχω ένα ping το οποίο να γράφει το output σε
> ένα αρχείο, και καθώς γράφει, όταν το αρχείο φτάσει σε μέγεθος άς πούμε
> 3ΜΒ, να αδειάζει τις παλαιότερες εγγραφές για να γράφει τις νέες.
> Πώς μπορώ να το κάνω;
>
Συμπληρωματικά σε όλα αυτά που αναφέρθηκαν, το logging module της python
περιλαμβάνει έναν handler που υποστηρίζει rotation.
Το παρακάτω είναι βασισμένο στο παράδειγμα:
http://docs.python.org/library/logging.html#simple-examples
====testrotatinglogger.py======================
#! /usr/bin/env python
import sys
import logging
import logging.handlers
LOG_FILENAME = 'z_logging_rotatingfile_example.out'
my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)
my_handler = logging.handlers.RotatingFileHandler(
LOG_FILENAME, maxBytes=20, backupCount=5)
my_formatter = logging.Formatter(
'%(asctime)s %(message)s', '%Y-%m-%d %H:%M:%S')
my_handler.setFormatter(my_formatter)
my_logger.addHandler(my_handler)
for line in sys.stdin:
my_logger.debug(line)
=================================
Πχ:
$ echo -e "This is line 1\nThis is line 2\nThis is line 3\nThis is line
4" | ./rotationallogger.py
More information about the Linux-greek-users
mailing list