[
https://issues.apache.org/jira/browse/ATLAS-3610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17036981#comment-17036981
]
Rahul Kurup commented on ATLAS-3610:
------------------------------------
Hi [~mrp1nk], I've applied [^ATLAS-3610-1.patch] on my local, and was able to
start the application and login successfully to Atlas UI.
Observed below differences with and without the changes:
* Without the change, executing the {{atlas_start.py}} script does a clean
exit and the command prompt is available to execute required commands.
* With the change, executing the {{atlas_start.py}} script does not exit
neatly irrespective of whether console-logging is enabled / disabled. Is there
a way to achieve this functionality with a configuration ? This can be required
in cases where atlas_start.py script is being called from other scripts which
will require a clean exit for {{atlas_start.py}}
With the change, When I try to run quick_start.py, no entries are made in the
Atlas application and the script exits with below output.
* With adding export ENABLE_LOGGING_TO_CONSOLE=false
{noformat}
$ ./quick_start.py
No sample data added to Apache Atlas Server.
{noformat}
* With adding export ENABLE_LOGGING_TO_CONSOLE=true
{noformat}
$ ./quick_start.py
Couldn't get a console object for user input
No sample data added to Apache Atlas Server.
{noformat}
> Enable logging to multiple targets (logdir, stdout)
> ---------------------------------------------------
>
> Key: ATLAS-3610
> URL: https://issues.apache.org/jira/browse/ATLAS-3610
> Project: Atlas
> Issue Type: Improvement
> Components: atlas-core
> Affects Versions: 3.0.0
> Reporter: Mariusz Górski
> Priority: Minor
> Fix For: 3.0.0
>
> Attachments: ATLAS-3610-1.patch, ATLAS-3610.patch
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> *Problem description*
> When starting Atlas, Python scripts are invoked to spawn all necessary
> processes. This is achieved with the use of _subprocess.Popen()_ in
> _runProcess()_ function of _atlas_config.py_ script. While doing that, stdout
> is being redirected to log files, which (for java processes) can override
> log4j configuration (if configured with stdout handler). This creates
> situation when log4j configuration cannot be relied upon and prevents logging
> to stdout.
> *Proposed solution*
> * Add possibility to log to stdout by using multiple stdout/stderr handlers
> * Adjust _runProcess()_ function from _atlas_config.py_ script (and all
> functions relying on it) to provide _logconsole_ kwarg which will add
> additional handler to Popen stdout/stderr redirection
> * Add _ENABLE_LOGGING_TO_CONSOLE_ env variable (defaulting to _False_) for
> backwards compatibility.
> * Adjust _atlas_start.py_ script to make use of _ENABLE_LOGGING_TO_CONSOLE_
> and provide it in functions invoking atlas/solr/elasticsearch/zookeeper
> *Predicted Benefits*
> This improvement would bring the benefit of enabling logging to stdout (which
> is supressed for now even if configured in spawned components), which could
> be very useful when running Atlas in docker container or in Kubernetes/OC,
> where some logging scraping is present.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)