Sure I know that, I just don't recall if I accounted for $$ in the
code for MongoDB...

G ;-) I'll peek tonight.

On Mon, Mar 8, 2021 at 2:40 PM Ralph Goers <ralph.go...@dslextreme.com> wrote:
>
> Gary - the $$ form requires that the component call StrSubstitutor to resolve 
> the variables. If the application needs to do that for some reason then the 
> Appender would need to support it.
>
> Ralph
>
> > On Mar 8, 2021, at 9:46 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> >
> > What Ralph said :-)
> >
> > The tests in Log4j as well as the ones I have at work all use one $ in
> > connection strings. I do not have tests that use $$.
> >
> > Gary
> >
> >
> > On Mon, Mar 8, 2021, 11:13 Ralph Goers <ralph.go...@dslextreme.com> wrote:
> >
> >> If I understand what Gary is saying correctly is that you would configure
> >> your Log4j2.xml file with the connection string for MongoDB. In the
> >> connection string you would have variables. If the variable is of the form
> >> ${varName} then it will be resolved when the configuration is processed. If
> >> a variable is of the form $${varName} then the first ‘$’ is stripped off
> >> when the configuration is processed and the internal component may resolve
> >> variables when they are actually used.
> >>
> >> Variables in Log4j 2 are implemented as Lookups - see
> >> http://logging.apache.org/log4j/2.x/manual/lookups.html for the list of
> >> Lookups that Log4j provides. You can add your own.
> >>
> >> Ralph
> >>
> >>> On Mar 8, 2021, at 7:01 AM, Julian Woodward <jul...@ldcvia.com> wrote:
> >>>
> >>> Hi Gary
> >>>
> >>> It's been a while, but I'm trying this now. I don't understand where the
> >>> opportunity is to inject values in the way you're describing (the $$
> >>> approach) when log4j2 is being instantiated at startup time by Spring. By
> >>> the time we reach 'my' code, it's too late and the mongodb4 setup has
> >>> already failed. Have I misunderstood, or is there a code sample that you
> >>> know of where this is actually in use?
> >>>
> >>> Many thanks,
> >>>
> >>> Julian Woodward
> >>>
> >>> *Liberate your Domino data with LDC Via*
> >>> jul...@ldcvia.com
> >>> +44 (0) 7956 227546
> >>> +44 (0) 20 3633 3009
> >>> http://ldcvia.com
> >>>
> >>> *LDC Via Limited is a limited company registered 09209489 in England &
> >>> Wales at 24 Ivymount Road, London, SE27 0NB. *
> >>> *Disclaimer: This message is intended only for the use of the individual
> >> or
> >>> entity to which it is addressed and may contain information which is
> >>> privileged, confidential, proprietary, or exempt from disclosure under
> >>> applicable law. If you are not the intended recipient or the person
> >>> responsible for delivering the message to the intended recipient, you are
> >>> strictly prohibited from disclosing, distributing, copying, or in any way
> >>> using this message. If you have received this communication in error,
> >>> please notify the sender and destroy and delete any copies you may have
> >>> received. *
> >>>
> >>>
> >>> On Mon, 30 Nov 2020 at 23:29, Gary Gregory <garydgreg...@gmail.com>
> >> wrote:
> >>>
> >>>> Hello Julian,
> >>>>
> >>>> When I created the version 4 of the MongoDB appender, I realized that
> >> for
> >>>> all the use cases I had and I felt were reasonable, I could use a
> >>>> connection string, a bit like you can in JDBC, which I could not do
> >> with a
> >>>> version 3 driver. There are two settings IIRC that I did not find
> >> mappings
> >>>> in a version 4 connection string: capped and collection size.
> >>>>
> >>>> Note that you can also parameterize the configuration with
> >> ${variables}, so
> >>>> you could parameterize the user and password in a connection string,
> >> see:
> >>>>
> >>>> -
> >>>>
> >>>>
> >> https://logging.apache.org/log4j/2.x/manual/configuration.html#RuntimeLookup
> >>>> -
> >>>>
> >>>>
> >> https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution
> >>>> -
> >>>>
> >>>>
> >> https://logging.apache.org/log4j/2.x/manual/appenders.html#NoSQLAppenderMongoDB4
> >>>>
> >>>> If you feel like you still need the factory method as a mechanism to
> >> create
> >>>> a provider, then please feel free to provide a PR on GitHub here:
> >>>> https://github.com/apache/logging-log4j2
> >>>>
> >>>> Gary
> >>>>
> >>>> On Mon, Nov 30, 2020 at 10:17 AM Julian Woodward <jul...@ldcvia.com>
> >>>> wrote:
> >>>>
> >>>>> When the mongodb4 appender was created for log4j2, the ability to
> >>>> specify a
> >>>>> factory class/method in the log4j2.xml file was removed, and the
> >>>>> configuration option was instead reverted to requiring a simple
> >>>> connection
> >>>>> string.
> >>>>>
> >>>>> Was there a technical reason why that needed to happen, or was it just
> >>>> for
> >>>>> simplicity at dev time?
> >>>>>
> >>>>> I've been relying on the factory approach, as the database credentials
> >>>> are
> >>>>> not known until run-time in my use-case. I was also looking forward to
> >>>>> having a mongodb4 version to upgrade to, but as it stands now this is
> >>>>> unfortunately not giving me what I need.
> >>>>>
> >>>>> Thanks!
> >>>>>
> >>>>> Julian Woodward
> >>>>>
> >>>>> PS New to this forum, so please be forgiving of any breaches of
> >>>> etiquette!
> >>>>>
> >>>>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> >>
> >>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to