| Index: third_party/android_testrunner/logger.py
|
| diff --git a/third_party/android_testrunner/logger.py b/third_party/android_testrunner/logger.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..61463a198c9668e57b0f1e5ae8784f5cea613eac
|
| --- /dev/null
|
| +++ b/third_party/android_testrunner/logger.py
|
| @@ -0,0 +1,96 @@
|
| +#!/usr/bin/python2.4
|
| +#
|
| +#
|
| +# Copyright 2007, The Android Open Source Project
|
| +#
|
| +# Licensed 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.
|
| +
|
| +"""Simple logging utility. Dumps log messages to stdout, and optionally, to a
|
| +log file.
|
| +
|
| +Init(path) must be called to enable logging to a file
|
| +"""
|
| +
|
| +import datetime
|
| +
|
| +_LOG_FILE = None
|
| +_verbose = False
|
| +_log_time = True
|
| +
|
| +def Init(log_file_path):
|
| + """Set the path to the log file"""
|
| + global _LOG_FILE
|
| + _LOG_FILE = log_file_path
|
| + print "Using log file: %s" % _LOG_FILE
|
| +
|
| +def GetLogFilePath():
|
| + """Returns the path and name of the Log file"""
|
| + global _LOG_FILE
|
| + return _LOG_FILE
|
| +
|
| +def Log(new_str):
|
| + """Appends new_str to the end of _LOG_FILE and prints it to stdout.
|
| +
|
| + Args:
|
| + # new_str is a string.
|
| + new_str: 'some message to log'
|
| + """
|
| + msg = _PrependTimeStamp(new_str)
|
| + print msg
|
| + _WriteLog(msg)
|
| +
|
| +def _WriteLog(msg):
|
| + global _LOG_FILE
|
| + if _LOG_FILE is not None:
|
| + file_handle = file(_LOG_FILE, 'a')
|
| + file_handle.write('\n' + str(msg))
|
| + file_handle.close()
|
| +
|
| +def _PrependTimeStamp(log_string):
|
| + """Returns the log_string prepended with current timestamp """
|
| + global _log_time
|
| + if _log_time:
|
| + return "# %s: %s" % (datetime.datetime.now().strftime("%m/%d/%y %H:%M:%S"),
|
| + log_string)
|
| + else:
|
| + # timestamp logging disabled
|
| + return log_string
|
| +
|
| +def SilentLog(new_str):
|
| + """Silently log new_str. Unless verbose mode is enabled, will log new_str
|
| + only to the log file
|
| + Args:
|
| + # new_str is a string.
|
| + new_str: 'some message to log'
|
| + """
|
| + global _verbose
|
| + msg = _PrependTimeStamp(new_str)
|
| + if _verbose:
|
| + print msg
|
| + _WriteLog(msg)
|
| +
|
| +def SetVerbose(new_verbose=True):
|
| + """ Enable or disable verbose logging"""
|
| + global _verbose
|
| + _verbose = new_verbose
|
| +
|
| +def SetTimestampLogging(new_timestamp=True):
|
| + """ Enable or disable outputting a timestamp with each log entry"""
|
| + global _log_time
|
| + _log_time = new_timestamp
|
| +
|
| +def main():
|
| + pass
|
| +
|
| +if __name__ == '__main__':
|
| + main()
|
|
|