tests/dump_test_log.py
author Sandro Knauß <knauss@netzguerilla.net>
Wed, 21 Dec 2011 22:10:21 +0100
branchdevel
changeset 91 191c2c1d6e53
parent 81 fea4c6760ca5
permissions -rw-r--r--
merging
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
66
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     1
import time, os, signal
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     2
LOG_FILE = 'test.log'
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     3
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     4
log_file = open(LOG_FILE, 'a')
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     5
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     6
def log(msg):
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     7
    log_file.write(msg + '\n')
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     8
    log_file.flush()
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     9
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    10
def SigUSR1Handler(signum, frame):
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    11
    print "Reacting on USR1 signal (signal 10)"
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    12
    global log_file
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    13
    log_file.close()
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    14
    log_file = open(LOG_FILE, 'a')
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    15
    return
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    16
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    17
def init():
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    18
    if os.path.isfile('/var/usr/dump_test_log.pid'):
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    19
        print 'Have to stop server first'
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    20
        os.exit(1)
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    21
    else:
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    22
        print 'Starting server...'
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    23
        #write process id file
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    24
        f = open('/var/run/dump_test_log.pid', 'w')
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    25
        f.write(str(os.getpid()))
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    26
        f.flush()
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    27
        f.close()
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    28
        print 'Process start with pid ', os.getpid()
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    29
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    30
    signal.signal(signal.SIGUSR1, SigUSR1Handler)
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    31
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    32
def main():
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    33
    init()
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    34
    count = 1
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    35
    while True:
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    36
      log('log line #%d, pid: %d' % (count, os.getpid()))
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    37
    count = count + 1
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    38
    time.sleep(1)
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    39
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    40
if __name__ == '__main__':
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    41
    main()
eabb8ead183d Added dump_test_log.py from http://hieuhacking.blogspot.com/2009/09/log-rotation-for-python-process.html
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    42