Annotation of wpscripts/ztransfer/log.pm, Revision 1.4
1.1 yason 1: #!/usr/bin/perl
1.4 ! yason 2: # $Id: log.pm,v 1.3 2011/07/22 09:44:40 yason Exp $
1.1 yason 3: package log;
4:
5: my $DEBUG = 1;
6:
1.2 yason 7: my $MAIN_LOG = "/var/log/wpscripts/ztransfer/main.log";
8: my $ERROR_LOG = "/var/log/wpscripts/ztransfer/error.log";
9: my $ZAYAVKI_LOG = "/var/log/wpscripts/ztransfer/zayavki.log";
10: my $JPEGS_LOG = "/var/log/wpscripts/ztransfer/jpegs.log";
11: my $PROBAS_LOG = "/var/log/wpscripts/ztransfer/probas.log";
1.4 ! yason 12: my $TT_LOG = "/var/log/wpscripts/ztransfer/tt.log";
1.2 yason 13: my $CRITICAL_LOG = "/var/log/wpscripts/ztransfer/critical.log";
14: my $FILE_LIST = "/var/log/wpscripts/ztransfer/FILES";
15: my $DIFFS_FILE = "/var/log/wpscripts/ztransfer/size_diffs.log";
16: my $CURRENT_FILE = "/var/log/wpscripts/ztransfer/FILE";
17: my $CURRENT_ACTION = "/var/log/wpscripts/ztransfer/ACTION";
1.1 yason 18:
19:
20: # functions
21: sub error($)
22: {
23: open(FILE, ">>$ERROR_LOG") or return();
24: $_ = shift();
25: print FILE scalar( localtime() ) . "| $_\n";
26: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
27: close(FILE);
28: }
29:
30:
31: sub main($)
32: {
33: open(FILE, ">>$MAIN_LOG") or return();
34: $_ = shift();
35: print FILE scalar( localtime() ) . "| $_\n";
36: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
37: close(FILE);
38: }
39:
40:
41: sub zayavki($)
42: {
43: open(FILE, ">>$ZAYAVKI_LOG") or return();
44: $_ = shift();
45: print FILE scalar( localtime() ) . "| $_\n";
46: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
47: close(FILE);
48: }
49:
50:
51: sub probas($)
52: {
53: open(FILE, ">>$PROBAS_LOG") or return();
1.4 ! yason 54: $_ = shift();
! 55: print FILE scalar( localtime() ) . "| $_\n";
! 56: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
! 57: close(FILE);
! 58: }
! 59:
! 60: sub tt($)
! 61: {
! 62: open(FILE, ">>$TT_LOG") or return();
1.1 yason 63: $_ = shift();
64: print FILE scalar( localtime() ) . "| $_\n";
65: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
66: close(FILE);
67: }
68:
69:
70: sub critical($)
71: {
72: if( open(FILE, ">>$CRITICAL_LOG") )
73: {
74: $_ = shift();
75: print FILE scalar( localtime() ) . "| $_\n";
76: close(FILE);
77: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
78: }
79: exit(-1); # exit program with -1 on *critical* error
80: }
81:
82:
83: sub filelist($)
84: {
85: my $files_ref = shift;
86: my @files = @$files_ref;
87:
88: open(FILE, ">$FILE_LIST") or return();
89: foreach $_ (@files)
90: {
91: print FILE "$_\n";
92: }
93: close(FILE);
94: }
95:
96:
97: sub diff($$$)
98: {
99: my $path = shift;
100: my $size_orig = shift;
101: my $size_arc = shift;
102: my $diff = $size_orig / $size_arc;
103:
104: # in human-readable format
105: # we don't suppose gigabyte archives
106: $size_orig = ($size_orig > 1048576 ? int($size_orig / 1024 / 1024) . " MB" : int($size_orig / 1024) . " KB");
107: $size_arc = ($size_arc > 1048576 ? int($size_arc / 1024 / 1024) . " MB" : int($size_arc / 1024) . " KB");
108:
109: open(FILE, ">>$DIFFS_FILE") or return();
110: print FILE scalar( localtime() ) . "| $path - original=$size_orig, compressed=$size_arc [diff=$diff]\n";
111: print STDOUT scalar( localtime() ) . "| $path - original=$size_orig, compressed=$size_arc [diff=$diff]\n" if($DEBUG);
112: close(FILE);
113:
114: }
115:
116:
117: sub file_work_on($$)
118: {
119: my $file = shift;
120: my $action = shift;
121:
122: open(FILE, ">$CURRENT_FILE") or return();
123: print FILE $file;
124: close(FILE);
125:
126: open(ACT, ">$CURRENT_ACTION") or return();
127: print ACT $action;
128: close(ACT);
129:
130: }
131:
132:
133: sub file_work_done()
134: {
135: # consider this stuff okay, as usually ;-)
136: # but in future maybe not to call anything external?
137: system("/bin/rm $CURRENT_FILE") if(-e $CURRENT_FILE);
138: system("/bin/rm $CURRENT_ACTION") if(-e $CURRENT_ACTION);
139: }
140:
141:
142: sub stdout($)
143: {
144: my $message = shift;
145: print "STDOUT: $message\n";
146: }
147:
148:
149: return(1);
CVSweb