1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 """Helper functions common to native, java and host-driven test runners."""
12 class CustomFormatter(logging
.Formatter
):
13 """Custom log formatter."""
16 def __init__(self
, fmt
='%(threadName)-4s %(message)s'):
17 # Can't use super() because in older Python versions logging.Formatter does
18 # not inherit from object.
19 logging
.Formatter
.__init
__(self
, fmt
=fmt
)
20 self
._creation
_time
= time
.time()
23 def format(self
, record
):
24 # Can't use super() because in older Python versions logging.Formatter does
25 # not inherit from object.
26 msg
= logging
.Formatter
.format(self
, record
)
27 if 'MainThread' in msg
[:19]:
28 msg
= msg
.replace('MainThread', 'Main', 1)
29 timediff
= time
.time() - self
._creation
_time
30 return '%s %8.3fs %s' % (record
.levelname
[0], timediff
, msg
)
33 def SetLogLevel(verbose_count
):
34 """Sets log level as |verbose_count|."""
35 log_level
= logging
.WARNING
# Default.
36 if verbose_count
== 1:
37 log_level
= logging
.INFO
38 elif verbose_count
>= 2:
39 log_level
= logging
.DEBUG
40 logger
= logging
.getLogger()
41 logger
.setLevel(log_level
)
42 custom_handler
= logging
.StreamHandler(sys
.stdout
)
43 custom_handler
.setFormatter(CustomFormatter())
44 logging
.getLogger().addHandler(custom_handler
)