On 6/15/21 10:59 AM, Ferruh Yigit wrote: > On 6/14/2021 5:56 PM, Andrew Rybchenko wrote: >> On 6/11/21 1:35 PM, Ferruh Yigit wrote: >>> On 6/11/2021 10:19 AM, Andrew Rybchenko wrote: >>>> On 6/11/21 5:06 AM, Li, Xiaoyun wrote: >>>>> Hi >>>>> -----Original Message----- >>>>> From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> >>>>> Sent: Friday, May 28, 2021 00:25 >>>>> To: Li, Xiaoyun <xiaoyun...@intel.com> >>>>> Cc: dev@dpdk.org >>>>> Subject: [PATCH] app/testpmd: send failure logs to stderr >>>>> >>>>> Running with stdout suppressed or redirected for further processing is >>>>> very >>>>> confusing in the case of errors. >>>>> >>>>> Signed-off-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> >>>>> --- >>>>> >>>>> This patch looks good to me. >>>>> But what do you think about make it as a fix and backport to stable >>>>> branches? >>>>> Anyway works for me. >>>> >>>> I have no strong opinion on the topic. >>>> >>>> @Ferruh, what do you think? >>>> >>> >>> Same here, no strong opinion. >>> Sending errors to 'stderr' looks correct thing to do, but changing behavior >>> in >>> the LTS may cause some unexpected side affect, if it is scripted and testpmd >>> output is parsed etc... For this possibility I would wait for the next LTS. >> >> So, I guess all agree that backporting to LTS is a bad idea because of >> behaviour change. >> >> As I said in a sub-thread I tend to apply in v21.08 since it is a right >> thing to do like a fix, but the fix is not that required to be >> backported to change behaviour of LTS releases. >> >>> And because of same reason perhaps a release note can be added. >> >> I'll make v2 with release notes added. Good point. >> >>> Also there is 'TESTPMD_LOG' macro for logs in testpmd, (as well as 'RTE_LOG' >>> macro), I don't know if we should switch all logs, including 'printf', to >>> 'TESTPMD_LOG' macro? >>> Later stdout/sderr can be managed in rte_log level, instead of any specific >>> logic for the testpmd. >> >> I think fprintf() is a better option for debug tool, since its >> messages should not go to syslog etc. It should go to stdout/stderr >> regardless of logging configuration and log level settings. >> > > Why application should not take log configuration and log level settings into > account? I think this is a feature we can benefit.
For me it sounds like an extra way to shoot its own leg. > And for not logging to syslog, I think it is DPDK wide concern, not specific > to > testpmd, we should have way to say don't log to syslog or only log error to > syslog etc.. When it is done, using 'TESTPMD_LOG' enables benefiting from > that. Logging configuration should be flexible to support various logging backends. IMHO, we don't need the flexibility here. testpmd is a command-line test application and errors should simply go to stderr. That's it. Since the result is the same in both ways, my opinion is not strong, I'm just trying to explain why I slightly prefer suggested way. I can switch to TESTPMD_LOG() (or define TESTPMD_ERR() and use it) easily. I just need maintainers decision on it. >>> Even there was a defect for this in the rte_log level, that logs should go >>> to >>> stderr: https://bugs.dpdk.org/show_bug.cgi?id=8 >>> >>> >>>>> Acked-by: Xiaoyun Li <xiaoyun...@intel.com> >>>> >>