File tree Expand file tree Collapse file tree 2 files changed +21
-6
lines changed
Expand file tree Collapse file tree 2 files changed +21
-6
lines changed Original file line number Diff line number Diff 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
Original file line number Diff line number Diff line change 1+ import logging
2+
13from confluent_kafka import Consumer , TopicPartition
24from confluent_kafka .admin import AdminClient
35
6+ logger = logging .getLogger ("saluki" )
7+
48
59def 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 \t low:{ low } , high:{ high } , num_messages:{ high - low } " )
25+ logger . info (f"\t \t low:{ low } , high:{ high } , num_messages:{ high - low } " )
You can’t perform that action at this time.
0 commit comments