Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #39872 > unrolled thread

log4j2 test?

Started by"e.d.pro...@gmail.com" <e.d.programmer@gmail.com>
First post2022-12-14 06:41 -0800
Last post2022-12-20 02:17 +0100
Articles 6 — 3 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  log4j2 test? "e.d.pro...@gmail.com" <e.d.programmer@gmail.com> - 2022-12-14 06:41 -0800
    Re: log4j2 test? Andreas Leitgeb <avl@logic.at> - 2022-12-16 19:02 +0000
      Re: log4j2 test? "e.d.pro...@gmail.com" <e.d.programmer@gmail.com> - 2022-12-16 12:20 -0800
    Re: log4j2 test? Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2022-12-19 17:42 +0100
      Re: log4j2 test? "e.d.pro...@gmail.com" <e.d.programmer@gmail.com> - 2022-12-19 11:37 -0800
        Re: log4j2 test? Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2022-12-20 02:17 +0100

#39872 — log4j2 test?

From"e.d.pro...@gmail.com" <e.d.programmer@gmail.com>
Date2022-12-14 06:41 -0800
Subjectlog4j2 test?
Message-ID<948bfc5a-7db1-468f-a8de-6f0786c5514fn@googlegroups.com>
log4j2.xml defines RollingFile with fileName="${sys:catalina.base}/logs/${application.name}.application.log"

This works when I run the app. This gets an error when I run mvn install in the test phase. Test works if I remove the catalina.base variable. How do I get this to resolve, or what is the normal log path for maven test phase platform independent, as in to run from my eclipse workspace path as well as the jenkins build?

[toc] | [next] | [standalone]


#39873

FromAndreas Leitgeb <avl@logic.at>
Date2022-12-16 19:02 +0000
Message-ID<slrntppg5j.21q.avl@logic.at>
In reply to#39872
e.d.pro...@gmail.com <e.d.programmer@gmail.com> wrote:
> log4j2.xml defines RollingFile with fileName="${sys:catalina.base}/logs/${application.name}.application.log"
> This works when I run the app. This gets an error when I run mvn install in the test phase. Test works if I remove the catalina.base variable. How do I get this to resolve, or what is the normal log path for maven test phase platform independent, as in to run from my eclipse workspace path as well as the jenkins build?

Based on this, either the property catalina.base wasn't really removed,
or the test pulled a different logging config.

With an undefined property, and an entity using that property, I wouldn't
have expected any behaviour other than maybe a default-logger to console.

[toc] | [prev] | [next] | [standalone]


#39874

From"e.d.pro...@gmail.com" <e.d.programmer@gmail.com>
Date2022-12-16 12:20 -0800
Message-ID<cd62ede2-9514-43cb-b1da-22dc070678e8n@googlegroups.com>
In reply to#39873
On Friday, December 16, 2022 at 2:02:25 PM UTC-5, Andreas Leitgeb wrote:
> > log4j2.xml defines RollingFile with fileName="${sys:catalina.base}/logs/${application.name}.application.log" 
> > This works when I run the app. This gets an error when I run mvn install in the test phase. Test works if I remove the catalina.base variable. How do I get this to resolve, or what is the normal log path for maven test phase platform independent, as in to run from my eclipse workspace path as well as the jenkins build?
> Based on this, either the property catalina.base wasn't really removed, 
> or the test pulled a different logging config. 
> 
> With an undefined property, and an entity using that property, I wouldn't 
> have expected any behaviour other than maybe a default-logger to console.

fileName="${sys:catalina.base}/logs/${application.name}.application.log" is for running on tomcat
I changed the xml path to fileName="logs/${application.name}.application.log" for printing to a log file in my maven build.
The catalina.base variable should be part of the path when it's running on tomcat. Shouldn't it also be able to use log4j2 in the maven build, unit tests?
Maven build doesn't have a value for the variable, so how do I assign it, or what is normal for a log path?

[toc] | [prev] | [next] | [standalone]


#39875

FromDaniele Futtorovic <da.futt.news@laposte-dot-net.invalid>
Date2022-12-19 17:42 +0100
Message-ID<tnq49l$crgk$1@dont-email.me>
In reply to#39872
On 14/12/2022 15:41, e.d.pro...@gmail.com wrote:
> log4j2.xml defines RollingFile with fileName="${sys:catalina.base}/logs/${application.name}.application.log"
> 
> This works when I run the app. This gets an error when I run mvn install in the test phase. Test works if I remove the catalina.base variable. How do I get this to resolve, or what is the normal log path for maven test phase platform independent, as in to run from my eclipse workspace path as well as the jenkins build?

I would recommend either logging to a fixed place, such as /var/log on a 
*NIX, or going relative, i.e. against the working directory.

Either should fix your problem, as well as make things simpler.

-- 
DF.

[toc] | [prev] | [next] | [standalone]


#39876

From"e.d.pro...@gmail.com" <e.d.programmer@gmail.com>
Date2022-12-19 11:37 -0800
Message-ID<4b2183f8-8dd9-4f11-a664-85d48a25ce4en@googlegroups.com>
In reply to#39875
On Monday, December 19, 2022 at 11:42:44 AM UTC-5, Daniele Futtorovic wrote:
> I would recommend either logging to a fixed place, such as /var/log on a 
> *NIX, or going relative, i.e. against the working directory. 
> 
> Either should fix your problem, as well as make things simpler. 
> 
> -- 
> DF.

I ran it with the filename="logs/..." path which should be relative to the build. I haven't looked for the log files from the jenkins build but it didn't crash.
I was wondering if there was a standard convention for log4j2 writing to files from a maven jenkins build

[toc] | [prev] | [next] | [standalone]


#39879

FromDaniele Futtorovic <da.futt.news@laposte-dot-net.invalid>
Date2022-12-20 02:17 +0100
Message-ID<tnr2eo$fum2$1@dont-email.me>
In reply to#39876
On 19/12/2022 20:37, e.d.pro...@gmail.com wrote:
> On Monday, December 19, 2022 at 11:42:44 AM UTC-5, Daniele Futtorovic wrote:
>> I would recommend either logging to a fixed place, such as /var/log on a
>> *NIX, or going relative, i.e. against the working directory.
>>
>> Either should fix your problem, as well as make things simpler.
> 
> I ran it with the filename="logs/..." path which should be relative to the build. I haven't looked for the log files from the jenkins build but it didn't crash.
> I was wondering if there was a standard convention for log4j2 writing to files from a maven jenkins build

Something you see more and more these days, especially in containerized 
setups, is straight logging to STDOUT, with the task scheduling layer 
then taking care of digestion/redirection. This is a prime candidate for 
Jenkins builds, which will typically be executed on (often 
containerized) worker slaves, where retrieving files from the filesystem 
at a later date is non-trivial -- whereas consulting the build output, is.

-- 
DF.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web