Source code for glideinwms.factory.tools.find_logs
#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2009 Fermi Research Alliance, LLC
# SPDX-License-Identifier: Apache-2.0
"""Find the logs for a certain date
Usage: find_logs.py <factory> YY/MM/DD [hh:mm:ss]
"""
import os
import os.path
import sys
from glideinwms.factory import glideFactoryConfig
from glideinwms.factory.tools.lib import gWftArgsHelper, gWftLogParser
STARTUP_DIR = sys.path[0]
sys.path.append(os.path.join(STARTUP_DIR, "../../.."))
USAGE = "Usage: find_logs.py <factory> YY/MM/DD [hh:mm:ss]"
# return a GlideinDescript with
# factory_dir, date_arr and time_arr
[docs]
def parse_args():
if len(sys.argv) < 3:
raise ValueError("Not enough arguments!")
factory_dir = sys.argv[1]
try:
glideFactoryConfig.factoryConfig.glidein_descript_file = os.path.join(
factory_dir, glideFactoryConfig.factoryConfig.glidein_descript_file
)
glideinDescript = glideFactoryConfig.GlideinDescript()
except Exception:
raise ValueError("%s is not a factory!" % factory_dir)
glideinDescript.factory_dir = factory_dir
glideinDescript.date_arr = gWftArgsHelper.parse_date(sys.argv[2])
if len(sys.argv) >= 4:
glideinDescript.time_arr = gWftArgsHelper.parse_time(sys.argv[3])
else:
glideinDescript.time_arr = (0, 0, 0)
return glideinDescript
[docs]
def main():
try:
glideinDescript = parse_args()
except ValueError as e:
sys.stderr.write(f"{e}\n\n{USAGE}\n")
sys.exit(1)
entries = glideinDescript.data["Entries"].split(",")
log_list = gWftLogParser.get_glidein_logs(
glideinDescript.factory_dir, entries, glideinDescript.date_arr, glideinDescript.time_arr, "err"
)
for fname in log_list:
print(fname)
if __name__ == "__main__":
main()