|
@@ -158,10 +158,8 @@ class QueueItem(namedtuple('_QueueItem', 'item is_stop exc')):
|
|
|
|
|
|
|
|
|
def tail_container_logs(container, presenter, queue, log_args):
|
|
|
- generator = get_log_generator(container)
|
|
|
-
|
|
|
try:
|
|
|
- for item in generator(container, log_args):
|
|
|
+ for item in build_log_generator(container, log_args):
|
|
|
queue.put(QueueItem.new(presenter.present(container, item)))
|
|
|
except Exception as e:
|
|
|
queue.put(QueueItem.exception(e))
|
|
@@ -171,20 +169,6 @@ def tail_container_logs(container, presenter, queue, log_args):
|
|
|
queue.put(QueueItem.stop(container.name))
|
|
|
|
|
|
|
|
|
-def get_log_generator(container):
|
|
|
- if container.has_api_logs:
|
|
|
- return build_log_generator
|
|
|
- return build_no_log_generator
|
|
|
-
|
|
|
-
|
|
|
-def build_no_log_generator(container, log_args):
|
|
|
- """Return a generator that prints a warning about logs and waits for
|
|
|
- container to exit.
|
|
|
- """
|
|
|
- yield "WARNING: no logs are available with the '{}' log driver\n".format(
|
|
|
- container.log_driver)
|
|
|
-
|
|
|
-
|
|
|
def build_log_generator(container, log_args):
|
|
|
# if the container doesn't have a log_stream we need to attach to container
|
|
|
# before log printer starts running
|