Skip to content

Commit 4f7802e

Browse files
moromimayMayara Moromisato
authored andcommitted
[BUG] Change logging config (#307)
* Change logging config. * Some adjusts. * Remove a code smell.
1 parent fdd2cfa commit 4f7802e

File tree

7 files changed

+25
-67
lines changed

7 files changed

+25
-67
lines changed

butterfree/__init__.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1 @@
11
"""Module docstring example, following Google's docstring style."""
2-
import logging.config
3-
import os
4-
import sys
5-
6-
sys.path.insert(0, os.path.abspath("."))
7-
8-
logging.config.fileConfig(fname="butterfree/logging.conf")

butterfree/_cli/migrate.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import importlib
22
import inspect
3-
import logging
43
import os
54
import pkgutil
65
import sys
@@ -11,13 +10,14 @@
1110

1211
from butterfree.clients import SparkClient
1312
from butterfree.configs import environment
13+
from butterfree.configs.logger import __logger
1414
from butterfree.extract.readers import FileReader
1515
from butterfree.migrations.database_migration import ALLOWED_DATABASE
1616
from butterfree.pipelines import FeatureSetPipeline
1717

1818
app = typer.Typer(help="Apply the automatic migrations in a database.")
1919

20-
logger = logging.getLogger("migrate")
20+
logger = __logger("migrate", True)
2121

2222

2323
def __find_modules(path: str) -> Set[str]:
@@ -114,7 +114,9 @@ def __init__(
114114

115115
def _send_logs_to_s3(self, file_local: bool) -> None:
116116
"""Send all migration logs to S3."""
117-
file_reader = FileReader(id="name", path="logs/logging.json", format="json")
117+
log_path = "../logging.json"
118+
119+
file_reader = FileReader(id="name", path=log_path, format="json")
118120
df = file_reader.consume(self.spark_client)
119121

120122
path = environment.get_variable("FEATURE_STORE_S3_BUCKET")
@@ -126,10 +128,10 @@ def _send_logs_to_s3(self, file_local: bool) -> None:
126128
**{"path": f"s3a://{path}/logging"},
127129
)
128130

129-
if not file_local:
130-
os.rmdir("logs/logging.json")
131+
if not file_local and os.path.exists(log_path):
132+
os.remove(log_path)
131133

132-
def run(self, generate_logs: bool) -> None:
134+
def run(self, generate_logs: bool = False) -> None:
133135
"""Construct and apply the migrations."""
134136
for pipeline in self.pipelines:
135137
for writer in pipeline.sink.writers:

butterfree/logging.conf

Lines changed: 0 additions & 52 deletions
This file was deleted.

butterfree/migrations/database_migration/database_migration.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
from typing import Any, Dict, List, Set
77

88
from butterfree.clients import AbstractClient
9+
from butterfree.configs.logger import __logger
910
from butterfree.load.writers.writer import Writer
1011
from butterfree.transform import FeatureSet
1112

12-
logger = logging.getLogger("database_migrate")
13+
logger = __logger("database_migrate", True)
1314

1415

1516
@dataclass

logs/logging.json

Whitespace-only changes.

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from setuptools import find_packages, setup
22

33
__package_name__ = "butterfree"
4-
__version__ = "1.2.0.dev6"
4+
__version__ = "1.2.0.dev7"
55
__repository_url__ = "https://github.com/quintoandar/butterfree"
66

77
with open("requirements.txt") as f:

tests/unit/butterfree/_cli/test_migrate.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
from unittest.mock import call
22

3+
from typer.testing import CliRunner
4+
35
from butterfree._cli import migrate
6+
from butterfree._cli.main import app
47
from butterfree.migrations.database_migration import (
58
CassandraMigration,
69
MetastoreMigration,
710
)
811
from butterfree.pipelines import FeatureSetPipeline
912

13+
runner = CliRunner()
14+
1015

1116
class TestMigrate:
1217
def test_migrate_success(self, mocker):
@@ -38,3 +43,12 @@ def test_migrate_all_pairs(self, mocker):
3843
cassandra_pairs, any_order=True
3944
)
4045
migrate.Migrate._send_logs_to_s3.assert_called_once()
46+
47+
def test_app_cli(self):
48+
result = runner.invoke(app, "migrate")
49+
assert result.exit_code == 0
50+
51+
def test_app_migrate(self, mocker):
52+
mocker.patch.object(migrate.Migrate, "run")
53+
result = runner.invoke(app, ["migrate", "apply", "tests/mocks/entities/"])
54+
assert result.exit_code == 0

0 commit comments

Comments
 (0)