[solved] How to see log in real time?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [solved] How to see log in real time?
# 1  
Old 06-30-2013
[solved] How to see log in real time?

Hi people

I have a bash script with a line like this:

Code:
python example.py >> log &

But i can't see anything in the log file while python program is running only if the program ends seems to write the log file.

"$ cat log" for example don't show anything until the program ends.

Is there any way that can I read the log file although the program is running ?


Thanks a lot

Last edited by Don Cragun; 06-30-2013 at 05:19 PM.. Reason: Mark solved
# 2  
Old 06-30-2013
Try
Code:
tail -f logfile

# 3  
Old 06-30-2013
Quote:
Originally Posted by Scrutinizer
Try
Code:
tail -f logfile

Thanks for response but this don't works.
I see the log file with "ls -l" that the file is 0KB until the program finish and then is full of all information.
# 4  
Old 06-30-2013
Quote:
Originally Posted by Tieso
Thanks for response but this don't works.
I see the log file with "ls -l" that the file is 0KB until the program finish and then is full of all information.
It looks like python is buffering output so there is no external way to view the results until python flushes its output buffer. Normally this will happen when the buffer fills and when python closes the output file. If you have permission to change the python source file (example.py), consider adding flush() calls to appropriate spots in the code so tail will be able to see data written to the file after significant updates are written.
# 5  
Old 06-30-2013
Quote:
Originally Posted by Don Cragun
It looks like python is buffering output so there is no external way to view the results until python flushes its output buffer. Normally this will happen when the buffer fills and when python closes the output file. If you have permission to change the python source file (example.py), consider adding flush() calls to appropriate spots in the code so tail will be able to see data written to the file after significant updates are written.
Thank you very much, this is the problem!
It can be solved adding a flush() method after the prints you want to flush:
Code:
import sys
sys.stdout.flush()

Adding a flush() class like this:
Code:
class flushfile(object):
    def __init__(self, f):
        self.f = f
    def write(self, x):
        self.f.write(x)
        self.f.flush()

import sys
sys.stdout = flushfile(sys.stdout)

Or more easily adding -u option when invoke python:
Code:
python -u example.py >> log &

then with tail command see any print in real time:
Code:
tail -f logfile

Thanks a lot
Solved

Last edited by Tieso; 06-30-2013 at 04:48 PM.. Reason: I don't see where edit thread title for change to Solved
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Log all the commands input by user at real time in /var/log/messages

Below is my script to log all the command input by any user to /var/log/messages. But I cant achieve the desired output that i want. PLease see below. function log2syslog { declare COMMAND COMMAND=$(fc -ln -0) logger -p local1.notice -t bash -i -- "$USER:$COMMAND" } trap... (12 Replies)
Discussion started by: invinzin21
12 Replies

2. UNIX for Advanced & Expert Users

How to read a fast written log file at Real time speed?

Hello All, I am building a real time parser for a log file in my application. The log file is continuously written at a very fast pace and gets rolled over every 10 minutes. I have measured the speed and observed that around 1000 lines are written to it every second, each line about 30-40... (7 Replies)
Discussion started by: cool.aquarian
7 Replies

3. Shell Programming and Scripting

Archiving or removing few data from log file in real time

Hi, I have a log file that gets updated every second. Currently the size has grown to 20+ GB. I need to have a command/script, that will try to get the actual size of the file and will remove 50% of the data that are in the log file. I don't mind removing the data as the size has grown to huge... (8 Replies)
Discussion started by: Souvik Patra
8 Replies

4. HP-UX

HP-UX real time audit log writing

Hey all, I have a problem I was hoping to get some help on. So I have my two auditfiles, audfile1 and audfile2 that can be written to, I want to have the text version of them write to an NFS mount that I have set up. So i already know that i can do .secure/etc/audsp audfile1 > //nfsmount/folder/... (5 Replies)
Discussion started by: CleverRiver6
5 Replies

5. Shell Programming and Scripting

shell script to replicate the log files from one location to another in real time

Hi, On the server, we have app log files in this location /app/logs/error.log On the same server, in a real time, we would like to replicate that into /var/ directory. if someone has already done this, please share the script. Thanks in advance. (4 Replies)
Discussion started by: lookinginfo
4 Replies

6. Shell Programming and Scripting

Perl or Shell script to read a transaction log in real time

Hello, I have a Apache webserver running on RedHat. Its primary function is a proxy server for users accessing the internet. I have a transaction log that logs every transactions of every users. For users trying to access certain sites/content the transactions goes into a 302 redirect loop and... (2 Replies)
Discussion started by: bruno406
2 Replies

7. Shell Programming and Scripting

Real time log file redirect

Hi all, i would like to write the shell script program, it can monitor the access_log "real time" when the access_log writing the line contain "abcdef" the program will be "COPY" this line into a file named "abcdef.txt", do the same thing if the contain "123456" "COPY" it into a file named... (3 Replies)
Discussion started by: eric_wong_ch
3 Replies

8. UNIX for Dummies Questions & Answers

log users real time

hi.... how i can configurator a log file on real time....on unix solaris.... thanks a lot.... Best Regards... (3 Replies)
Discussion started by: chanfle
3 Replies
Login or Register to Ask a Question