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