[Tutor] Search error code in a logfile and print all lines until the error code
Asad
asad.hasan2004 at gmail.com
Thu Nov 29 07:53:42 EST 2018
Hi All ,
I need some help to print error lines from a log file :
for example the following logfile :
SQL>
SQL> SET PAGESIZE 0
SQL> SELECT 'Starting apply for patch 26925263/21857460 on ' ||
2 SYSTIMESTAMP FROM dual;
Starting apply for patch 26925263/21857460 on 28-JUN-18 07.46.34.893957 PM
-05:00
1 row selected.
SQL> SET PAGESIZE 10
SQL>
SQL> BEGIN
2 dbms_sqlpatch.patch_initialize(p_patch_id => 26925263,
3 p_patch_uid => 21857460,
4 p_flags => '&flags',
5 p_description => '&description',
6 p_action => 'APPLY',
7 p_logfile => '&full_logfile',
8 p_bundle_series =>
'&bundle_series');
9 END;
10 /
BEGIN
*
ERROR at line 1:
ORA-20001: set_patch_metadata not called
ORA-06512: at "SYS.DBMS_SQLPATCH", line 647
ORA-06512: at line 2
SQL>
SQL> COLUMN install_file NEW_VALUE sql_script
SQL>
SQL>
SQL> ALTER SESSION SET CURRENT_SCHEMA = SYS;
Session altered.
So here I want to open the log file and find the error and print all the
lines from starting till the error : ORA-20001: set_patch_metadata not
called
f4 = open (r"file1.log", 'r')
string2=f4.readlines()
for i in range(len(string2)):
position=i
lastposition =position+1
while True:
if re.search('ORA-20001: set_patch_metadata not
called',string2[lastposition]):
break
elif lastposition==len(string2)-1:
break
else:
lastposition += 1
errorcheck=string2[position:lastposition]
print errorcheck
It gives me error :
IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.
To change this limit, set the config variable
`--NotebookApp.iopub_data_rate_limit`.
Current values:
NotebookApp.iopub_data_rate_limit=1000000.0 (bytes/sec)
NotebookApp.rate_limit_window=3.0 (secs)
the first for loop will search for the error and provide me the position of
the error .
I think the logic I am using is correct but need some expert comment to
make it work also some guidance on how to print all the lines until the
error is received .
Please advice,
--
Asad Hasan
+91 9582111698
More information about the Tutor
mailing list