Hello Clement,

I am not an expert on *PatternLayout* and lookups, but I think I have a
hypothesis about what is going wrong and how you can fix it.

*${web:servletContextName:-${sys:user.name <http://user.name>}}* lookup
works, because the substitute is again a *lookup*. Though
*${web:servletContextName:-%pid}* lookup doesn't work, because the
substitute is a *pattern*. I think the following would do the trick:
*%equals{${web:servletContextName}}{}{%pid}*. Would you mind checking,
please?

Kind regards.

On Thu, Mar 25, 2021 at 2:32 AM Clément Guillaume <cguilla...@hotpads.com>
wrote:

> Hello,
>
> I'm trying to make a log pattern showing the servlet context name or, if
> missing, showing the process id.
>
> ${web:servletContextName} %msg
> works well for servlet context name alone.
>
> %pid %msg
> works well for process id alone.
>
> ${web:servletContextName:-${sys:user.name}} %msg
> works well for servlet context name with fallback to username system
> property ,
>
> ${web:servletContextName:-%pid} %msg
> does work for servlet context name with fallback to process id.
>
> Am I missing something in my pattern?
>
> Thank you
>

Reply via email to