Skip to content

Commit 18d81cf

Browse files
committed
add log file arg back, use logger for sniff
1 parent b34c9c4 commit 18d81cf

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

src/saluki/main.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ def main() -> None:
2222
prog="saluki",
2323
description="serialise/de-serialise flatbuffers and consume/produce from/to kafka",
2424
)
25+
parser.add_argument(
26+
"-l",
27+
"--log-file",
28+
help="filename to output all data to",
29+
required=False,
30+
default=None,
31+
type=argparse.FileType("a"),
32+
)
2533

2634
topic_parser = argparse.ArgumentParser(add_help=False)
2735
topic_parser.add_argument("topic", type=str, help="Kafka topic. format is broker<:port>/topic")
@@ -95,6 +103,9 @@ def main() -> None:
95103
sys.exit(1)
96104
args = parser.parse_args()
97105

106+
if args.log_file:
107+
logger.addHandler(logging.FileHandler(args.log_file.name))
108+
98109
if "kafka_config" in args and args.kafka_config is not None:
99110
raise NotImplementedError("-X is not implemented yet.")
100111

src/saluki/sniff.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1+
import logging
2+
13
from confluent_kafka import Consumer, TopicPartition
24
from confluent_kafka.admin import AdminClient
35

6+
logger = logging.getLogger("saluki")
7+
48

59
def sniff(broker: str) -> None:
610
a = AdminClient({"bootstrap.servers": broker})
711
c = Consumer({"bootstrap.servers": broker, "group.id": "saluki-sniff"})
812
t = a.list_topics(timeout=5)
9-
print(f"Cluster ID: {t.cluster_id}")
10-
print("Brokers:")
11-
[print(f"\t{value}") for value in t.brokers.values()]
13+
logger.info(f"Cluster ID: {t.cluster_id}")
14+
logger.info("Brokers:")
15+
[logger.info(f"\t{value}") for value in t.brokers.values()]
1216

13-
print("Topics:")
17+
logger.info("Topics:")
1418

1519
for k, v in t.topics.items():
1620
partitions = v.partitions.keys()
17-
print(f"\t{k}:")
21+
logger.info(f"\t{k}:")
1822
for p in partitions:
1923
tp = TopicPartition(k, p)
2024
low, high = c.get_watermark_offsets(tp)
21-
print(f"\t\tlow:{low}, high:{high}, num_messages:{high - low}")
25+
logger.info(f"\t\tlow:{low}, high:{high}, num_messages:{high - low}")

0 commit comments

Comments
 (0)