Move migration logger initialization (#3170)

* Move migration logger initialization

* Update CHANGELOG

* Update license header
main
Maria Khrustaleva 5 years ago committed by GitHub
parent 61d0bb3106
commit 1f94aca003
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -14,9 +14,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- A script to convert some kinds of DICOM files to regular images (<https://github.com/openvinotoolkit/cvat/pull/3095>) - A script to convert some kinds of DICOM files to regular images (<https://github.com/openvinotoolkit/cvat/pull/3095>)
- Helm chart prototype (<https://github.com/openvinotoolkit/cvat/pull/3102>) - Helm chart prototype (<https://github.com/openvinotoolkit/cvat/pull/3102>)
### Changed ### Changed
- Place of migration logger initialization (<https://github.com/openvinotoolkit/cvat/pull/3170>)
### Deprecated ### Deprecated
### Removed ### Removed

@ -1,8 +1,9 @@
# Copyright (C) 2018 Intel Corporation # Copyright (C) 2018-2021 Intel Corporation
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
import logging import logging
import sys
from cvat.settings.base import LOGGING from cvat.settings.base import LOGGING
from .models import Job, Task, Project from .models import Job, Task, Project
@ -24,6 +25,17 @@ def _get_job(jid):
except Exception: except Exception:
raise Exception('{} key must be a job identifier'.format(jid)) raise Exception('{} key must be a job identifier'.format(jid))
def get_logger(logger_name, log_file):
logger = logging.getLogger(name=logger_name)
logger.setLevel(logging.INFO)
file_handler = logging.FileHandler(log_file)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.addHandler(logging.StreamHandler(sys.stdout))
logger.addHandler(logging.StreamHandler(sys.stderr))
return logger
class ProjectLoggerStorage: class ProjectLoggerStorage:
def __init__(self): def __init__(self):
self._storage = dict() self._storage = dict()

@ -2,30 +2,20 @@
import glob import glob
import itertools import itertools
import logging
import os import os
import sys
from re import search from re import search
from django.conf import settings from django.conf import settings
from django.db import migrations from django.db import migrations
from cvat.apps.engine.log import get_logger
from cvat.apps.engine.models import (DimensionType, StorageChoice, from cvat.apps.engine.models import (DimensionType, StorageChoice,
StorageMethodChoice) StorageMethodChoice)
from cvat.apps.engine.media_extractors import get_mime from cvat.apps.engine.media_extractors import get_mime
from utils.dataset_manifest import ImageManifestManager, VideoManifestManager from utils.dataset_manifest import ImageManifestManager, VideoManifestManager
def get_logger(): MIGRATION_NAME = os.path.splitext(os.path.basename(__file__))[0]
migration = os.path.basename(__file__).split(".")[0] MIGRATION_LOG = os.path.join(settings.MIGRATIONS_LOGS_ROOT, f"{MIGRATION_NAME}.log")
logger = logging.getLogger(name=migration)
logger.setLevel(logging.INFO)
file_handler = logging.FileHandler(os.path.join(settings.MIGRATIONS_LOGS_ROOT, f"{migration}.log"))
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.addHandler(logging.StreamHandler(sys.stdout))
logger.addHandler(logging.StreamHandler(sys.stderr))
return logger
def _get_query_set(apps): def _get_query_set(apps):
Data = apps.get_model("engine", "Data") Data = apps.get_model("engine", "Data")
@ -33,7 +23,7 @@ def _get_query_set(apps):
return query_set return query_set
def migrate2meta(apps, shema_editor): def migrate2meta(apps, shema_editor):
logger = get_logger() logger = get_logger(MIGRATION_NAME, MIGRATION_LOG)
query_set = _get_query_set(apps) query_set = _get_query_set(apps)
for db_data in query_set: for db_data in query_set:
try: try:
@ -74,7 +64,7 @@ def migrate2meta(apps, shema_editor):
logger.error(str(ex)) logger.error(str(ex))
def migrate2manifest(apps, shema_editor): def migrate2manifest(apps, shema_editor):
logger = get_logger() logger = get_logger(MIGRATION_NAME, MIGRATION_LOG)
logger.info('The data migration has been started for creating manifest`s files') logger.info('The data migration has been started for creating manifest`s files')
query_set = _get_query_set(apps) query_set = _get_query_set(apps)
logger.info('Need to update {} data objects'.format(len(query_set))) logger.info('Need to update {} data objects'.format(len(query_set)))

Loading…
Cancel
Save