| package loghelper; |
| |
| #************************************************************** |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| #************************************************************** |
| |
| |
| |
| use strict; |
| |
| BEGIN { |
| use Exporter (); |
| our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); |
| |
| $VERSION = 1.00; |
| # if using RCS/CVS, this may be preferred |
| $VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker |
| @ISA = qw(Exporter); |
| @EXPORT = qw(&set_logfile &close_logfile &log_print &setVerbose); |
| %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], |
| # your exported package globals go here, |
| # as well as any optionally exported functions |
| @EXPORT_OK = ( ); # qw($Var1 %Hashit &func3); |
| } |
| |
| # ------------------------------- Log into a file ------------------------------- |
| local *LOGFILE; |
| our $nGlobalLog = 0; |
| our $nGlobalVerbose = 0; |
| |
| sub setVerbose() |
| { |
| $nGlobalVerbose = 1; |
| } |
| |
| sub set_logfile($) |
| { |
| my $sLogFile = shift; |
| |
| if (open(LOGFILE, ">$sLogFile")) |
| { |
| $nGlobalLog = 1; |
| } |
| } |
| sub close_logfile() |
| { |
| close(LOGFILE); |
| $nGlobalLog = 0; |
| } |
| |
| sub log_print($) |
| { |
| my $sLine = shift; |
| if ($nGlobalLog) |
| { |
| print LOGFILE $sLine; |
| } |
| if ($nGlobalVerbose == 1) |
| { |
| print $sLine; |
| } |
| else |
| { |
| # In this special case for NetBeans, which show if a debugger can access. |
| # The Line should print anyway. |
| if ($sLine =~ /Listening for transport/) |
| { |
| print $sLine; |
| } |
| } |
| } |
| |
| 1; |