55 lines
1.4 KiB
Python

from datetime import datetime, timezone, timedelta
import logging
import logging.config
import json
import os
from pydantic import ValidationError
from log_stream.log_stream import LogStream
def main():
setup_logging()
log_query = """
severity>="ERROR"
"""
now = datetime.now(timezone.utc)
one_week_ago = now - timedelta(days=7)
project = os.environ.get("CLOUDSDK_CORE_PROJECT")
assert isinstance(project, str)
access_token = os.environ.get("ACCESS_TOKEN")
assert isinstance(access_token, str)
logs = LogStream(log_query, project, one_week_ago, now, lambda: access_token)
for log in logs.parsed():
print(log.model_dump_json())
def setup_logging():
logging_config = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"regular": {
"format": "%(asctime)s %(name)-12s %(levelname)-8s %(message)s",
}
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"level": "INFO",
"formatter": "regular",
}
},
"root": {
"handlers": ["console"],
"level": "INFO",
},
"loggers": {"LogStream": {"level": "WARNING"}},
}
logging.config.dictConfig(logging_config)
if __name__ == "__main__":
main()