|  | @@ -6,6 +6,7 @@ import contextlib
 | 
	
		
			
				|  |  |  import functools
 | 
	
		
			
				|  |  |  import json
 | 
	
		
			
				|  |  |  import logging
 | 
	
		
			
				|  |  | +import os
 | 
	
		
			
				|  |  |  import pipes
 | 
	
		
			
				|  |  |  import re
 | 
	
		
			
				|  |  |  import subprocess
 | 
	
	
		
			
				|  | @@ -102,9 +103,9 @@ def dispatch():
 | 
	
		
			
				|  |  |      options, handler, command_options = dispatcher.parse(sys.argv[1:])
 | 
	
		
			
				|  |  |      setup_console_handler(console_handler,
 | 
	
		
			
				|  |  |                            options.get('--verbose'),
 | 
	
		
			
				|  |  | -                          options.get('--no-ansi'),
 | 
	
		
			
				|  |  | +                          set_no_color_if_clicolor(options.get('--no-ansi')),
 | 
	
		
			
				|  |  |                            options.get("--log-level"))
 | 
	
		
			
				|  |  | -    setup_parallel_logger(options.get('--no-ansi'))
 | 
	
		
			
				|  |  | +    setup_parallel_logger(set_no_color_if_clicolor(options.get('--no-ansi')))
 | 
	
		
			
				|  |  |      if options.get('--no-ansi'):
 | 
	
		
			
				|  |  |          command_options['--no-color'] = True
 | 
	
		
			
				|  |  |      return functools.partial(perform_command, options, handler, command_options)
 | 
	
	
		
			
				|  | @@ -666,7 +667,7 @@ class TopLevelCommand(object):
 | 
	
		
			
				|  |  |          log_printer_from_project(
 | 
	
		
			
				|  |  |              self.project,
 | 
	
		
			
				|  |  |              containers,
 | 
	
		
			
				|  |  | -            options['--no-color'],
 | 
	
		
			
				|  |  | +            set_no_color_if_clicolor(options['--no-color']),
 | 
	
		
			
				|  |  |              log_args,
 | 
	
		
			
				|  |  |              event_stream=self.project.events(service_names=options['SERVICE'])).run()
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1124,7 +1125,7 @@ class TopLevelCommand(object):
 | 
	
		
			
				|  |  |              log_printer = log_printer_from_project(
 | 
	
		
			
				|  |  |                  self.project,
 | 
	
		
			
				|  |  |                  attached_containers,
 | 
	
		
			
				|  |  | -                options['--no-color'],
 | 
	
		
			
				|  |  | +                set_no_color_if_clicolor(options['--no-color']),
 | 
	
		
			
				|  |  |                  {'follow': True},
 | 
	
		
			
				|  |  |                  cascade_stop,
 | 
	
		
			
				|  |  |                  event_stream=self.project.events(service_names=service_names))
 | 
	
	
		
			
				|  | @@ -1602,3 +1603,7 @@ def warn_for_swarm_mode(client):
 | 
	
		
			
				|  |  |              "To deploy your application across the swarm, "
 | 
	
		
			
				|  |  |              "use `docker stack deploy`.\n"
 | 
	
		
			
				|  |  |          )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def set_no_color_if_clicolor(no_color_flag):
 | 
	
		
			
				|  |  | +    return no_color_flag or os.environ.get('CLICOLOR') == "0"
 |