Formatting the Log file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Formatting the Log file
# 1  
Old 02-24-2007
Formatting the Log file

Hi,
I am having one script to run the multiple offline programs simultaneously. On that script I want to format the log file (which I redirected the STDOUT to a file) in a standard format. I want to do this while running the program not later. How to do this?
Pls do the needful.

For example.

time: processid:scriptname:log message

121055:27819:myscript1:welcome to myscript1.
# 2  
Old 02-24-2007
If I understand your question correctly, you want to run a script which calls multiple commands all of which are redirected to a single logfile. You can redirect the STDOUT and STDERR upon entry into the calling script. All subsequent commands will inherit the redirection from the calling script.

Code:
#!/bin/ksh

    exec 1>>/var/log/script.log 2>&1

    command1
    command2
    command3

One short-coming would be that you would not necessarily know which command generated which errors unless they're sufficiently different. By adding an echo before each command, you would know in which command you were when messages were generated.
Code:
#!/bin/ksh

    exec 1>>/var/log/script.log 2>&1

    echo "$0 (I) Starting command1"
    command1
    echo "$0 (I) Starting command2"
    command2
    echo "$0 (I) Starting command3"
    command3

Upon reflection, I don't think I'm grasping the problem. Could you please provide a little more detail? Thanks.
# 3  
Old 02-24-2007
Perhaps this is more to your point:

Create a "stub" script to which you will pass the command you want to execute complete with options. It will initially display the data you desire then call the specified command.

/usr/local/bin/logit.ksh

Code:
#!/bin/ksh

    echo "$(date +'%y%m%d'):$$:$1:\c"

    exec $*

In the calling script:

/usr/local/bin/logit.ksh ls -l /var/log

will output something like this:

070224:11245:ls:total 36
-rw------- 1 root sys 0 Sep 30 2005 authlog
-rw-r--r-- 1 root other 639 Feb 14 2006 sysidconfig.log
-rw-r--r-- 1 root other 5375 Feb 24 06:59 syslog
-rw-r--r-- 1 root sys 8319 Sep 3 08:02 syslog.0
-rw-r----- 1 root sysadmin 1325 Feb 24 07:47 tcplog
# 4  
Old 02-24-2007
Clarification

HI,
I am running hundreds of programs in the backround using my script.
I am using
nohup scriptname > conlog.log 2>&1 & inside the script.

I want to format the log file conlog.log. I hope u understood this time.
The format should be like this...

timestamp : process id : scriptname : output message

Tnx.
# 5  
Old 02-24-2007
The "stub" script I posted after my original post and just before your second post would provide you the basic functionality you're looking for. However, if the output message is more than one line, the messages from all of those processes could get jumbled.

I suspect that you want each messages from a given program to display the time, processid, and program name. If that is correct, then I'll have to ponder that one. I suspect there is way to extend the stub script.
# 6  
Old 02-24-2007
Here is a slightly improved version of the stub script:

/usr/local/bin/logit.ksh

Code:
#!/bin/ksh

    $* | while read MSG
    do
        echo "$(date +'%y%m%d'):$$:$1:$MSG"
    done

called from you main script as

/usr/local/bin/logit.ksh scriptname args ... &

This will preceed each line of output from scriptname with the desired timestamp, processid, and command. However, the process ID will be that of the logit.ksh script not the actual scriptname. Using ptree, you'd be able to determine which logit.ksh goes with scriptname.

It's not perfect, but we're getting closer I hope.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Formatting data in a raw file by using another mapping file

Hi All, i have a requirement where i need to format the input RAW file ( which is CSV) by using another mapping file(also CSV file). basically i am getting feed file with dynamic headers by using mapping file (in that target field is mapped with source filed) i have to convert the raw file into... (6 Replies)
Discussion started by: ravi4informatic
6 Replies

2. Shell Programming and Scripting

Formatting a file

Hi Experts I have a file which looks as follows acttest /report/fieldsinf/acttest/LIVE/acttest Chris New teatin1 /report/fieldsinf/eatin1/TEST/teatin1 Chris New eatin1 /report/fieldsinf/eatin1/LIVE/eatin1 Chris New tbectest ... (7 Replies)
Discussion started by: maverick_here
7 Replies

3. Shell Programming and Scripting

HP IML log formatting

HP hardware Linux SLES version 10 shell script, ksh or sh I am taking the output of the IML log and ultimately want to find only entries 30 days old. I am getting some unexpected results along the way. hpasmcli -s "SHOW IML" Event: 4 Added: 06/12/2012 13:56 INFO: Maintenance Note -... (3 Replies)
Discussion started by: snoman1
3 Replies

4. Shell Programming and Scripting

Formatting file data to another file (control character related)

I have to write a program to read data from files and then format into another file. However, I face a strange problem related to control character that I can't understand and solve. The source file is compose of many lines with such format: T_NAME|P_NAME|P_CODE|DOCUMENT_PATH|REG_DATE ... (3 Replies)
Discussion started by: hk6279
3 Replies

5. Shell Programming and Scripting

File Formatting

Hi, Need to delete all the records prior to pattern (INSERT/UPDATE/DELETE). If ' is available, then need to retain it. Input ====================== l_s := ' INSERT INTO TEST' l_P PD := ' UPDATE INTO TEST' l_D := ' DELETE INTO TEST' This is test Output ======================... (1 Reply)
Discussion started by: saurabhbaisakhi
1 Replies

6. Shell Programming and Scripting

File Formatting

Hi, Need to delete all the records prior to pattern (INSERT/UPDATE/DELETE). If ' is available, then need to retain it. Input ====================== l_s := ' INSERT INTO TEST' l_P PD := ' UPDATE INTO TEST' l_D := ' DELETE INTO TEST' This is test Input ======================... (1 Reply)
Discussion started by: saurabhbaisakhi
1 Replies

7. Shell Programming and Scripting

Formatting a file....

Hi, I have written a script which directs output of vmstat to a file... The file consists of 15 lines in all..... Through scripting I would like to re-format the file excluding first 4 lines... I donot wish to use vi editor and manually delete lines but i want this process to be... (2 Replies)
Discussion started by: EmbedUX
2 Replies

8. Shell Programming and Scripting

help with file formatting

Hi, I have a file with below contents: AAA pqr,jkl,mnop,abcd BBB abc,pqrs,xyz,uvw, efgh,uvw, rpk CCC 123,456,789 Need output file as below: AAA,pqr,jkl,mnop,abcd BBB,abc,pqrs,xyz,uvw,efgh,uvw,rpk (18 Replies)
Discussion started by: prvnrk
18 Replies

9. UNIX for Dummies Questions & Answers

Formatting a file.

I want to format a file to limit record length = 100, in each line. Any idea how i can do this? (1 Reply)
Discussion started by: abhilasha
1 Replies

10. Shell Programming and Scripting

Help with formatting of file.

I have a file with following file format - DMCRH|||83000171|||14022008||0430|||8956612.23|J|||3571235|1378452|23468|6894|9234| DMCRH|||83000215|||15092007||0480|||121.33|J|||LineID003|RefNumSP003|RefNumMem003|0004|0003| What i need done is - 1. Cut the firt four digits of the date (eg 1402... (3 Replies)
Discussion started by: divz
3 Replies
Login or Register to Ask a Question