def test_find_log_dir_and_names_wo_username(self): # Windows doesn't have os.getuid at all if hasattr(os, 'getuid'): mock_getuid = mock.patch.object(os, 'getuid') uid = 100 logged_uid = '100' else: # The function doesn't exist, but our test code still tries to mock # it, so just use a fake thing. mock_getuid = _mock_windows_os_getuid() uid = -1 logged_uid = 'unknown' host = 'test_host' log_dir = 'here' program_name = 'prog1' with mock.patch.object(getpass, 'getuser'), \ mock_getuid as getuid, \ mock.patch.object(logging, 'find_log_dir') as mock_find_log_dir, \ mock.patch.object(socket, 'gethostname') as mock_gethostname: getpass.getuser.side_effect = KeyError() getuid.return_value = uid mock_gethostname.return_value = host mock_find_log_dir.return_value = log_dir prefix = '%s.%s.%s.log' % (program_name, host, logged_uid) self.assertEqual((log_dir, prefix, program_name), logging.find_log_dir_and_names( program_name=program_name, log_dir=log_dir))
def test_find_log_dir_and_names_without_args(self): user = '******' host = 'test_host' log_dir = 'here' py_program_name = 'py_prog1' sys.argv[0] = 'path/to/prog1' with mock.patch.object(getpass, 'getuser'), \ mock.patch.object(logging, 'find_log_dir') as mock_find_log_dir, \ mock.patch.object(socket, 'gethostname'): getpass.getuser.return_value = user socket.gethostname.return_value = host mock_find_log_dir.return_value = log_dir prefix = '%s.%s.%s.log' % (py_program_name, host, user) self.assertEqual((log_dir, prefix, py_program_name), logging.find_log_dir_and_names())
def test_find_log_dir_and_names_wo_username(self): uid = 100 host = 'test_host' log_dir = 'here' program_name = 'prog1' with mock.patch.object(getpass, 'getuser'), \ mock.patch.object(os, 'getuid'), \ mock.patch.object(logging, 'find_log_dir') as mock_find_log_dir, \ mock.patch.object(socket, 'gethostname') as mock_gethostname: getpass.getuser.side_effect = KeyError() os.getuid.return_value = uid mock_gethostname.return_value = host mock_find_log_dir.return_value = log_dir prefix = '%s.%s.%s.log' % (program_name, host, uid) self.assertEqual( (log_dir, prefix, program_name), logging.find_log_dir_and_names(program_name=program_name, log_dir=log_dir))
from absl import app from absl import flags from absl import logging import testtemp import filetemp.testtemp FLAGS = flags.FLAGS FLAGS.alsologtostderr = True FLAGS.log_dir = 'temp/log/' print("log_dir: ", logging.find_log_dir()) print("actual_log_dir, file_prefix, program_name: ", logging.find_log_dir_and_names('main')) flags.DEFINE_string('log_file', 'main', 'Text to echo.') def main(argv): logging.get_absl_handler().start_logging_to_file(FLAGS.log_file) print("logging path: ", logging.get_log_file_name()) logging.info('Running under Python {0[0]}.{0[1]}.{0[2]}'.format( sys.version_info)) logging.info("logging level: %d" % logging.get_verbosity()) for i in range(50): logging.log_every_n(logging.INFO, "log_every_10", 10)