99# See https://aboutcode.org for more information about nexB OSS projects.
1010#
1111
12- from typing import Dict
12+ from pathlib import Path
13+ from typing import Dict , Optional
1314
1415import click
1516
@@ -187,6 +188,9 @@ def print_version(ctx, param, value):
187188 help = "Use generic or truncated paths in the JSON output header and files sections. "
188189 "Used only for testing to avoid absolute paths and paths changing at each run." ,
189190)
191+ @click .option (
192+ "--log-file" , type = click .Path (path_type = Path ), help = "Write logs to a file."
193+ )
190194def resolve_dependencies (
191195 ctx ,
192196 requirement_files ,
@@ -200,6 +204,7 @@ def resolve_dependencies(
200204 netrc_file ,
201205 max_rounds ,
202206 verbose ,
207+ log_file : Optional [Path ],
203208 use_cached_index = False ,
204209 use_pypi_json_api = False ,
205210 analyze_setup_py_insecurely = False ,
@@ -240,15 +245,15 @@ def resolve_dependencies(
240245
241246 # Setup verbose level
242247 if verbose >= 4 :
243- logging .setup_logger ("DEEP" )
248+ logging .setup_logger ("DEEP" , log_file = log_file )
244249 elif verbose == 3 :
245- logging .setup_logger ("TRACE" )
250+ logging .setup_logger ("TRACE" , log_file = log_file )
246251 elif verbose == 2 :
247- logging .setup_logger ("DEBUG" )
252+ logging .setup_logger ("DEBUG" , log_file = log_file )
248253 elif verbose == 1 :
249- logging .setup_logger ("INFO" )
254+ logging .setup_logger ("INFO" , log_file = log_file )
250255 else :
251- logging .setup_logger ()
256+ logging .setup_logger (log_file = log_file )
252257
253258 options = get_pretty_options (ctx , generic_paths = generic_paths )
254259
0 commit comments