Ban me i can't get him off she'll

On Mon, Apr 19, 2021, 9:01 PM Remko Popma <remko.po...@gmail.com> wrote:

> Sixx XT appears to be a robot.
> Ban?
>
> Sixx XT, you can redeem yourself with an intelligent response to this
> message.
>
> On Tue, Apr 20, 2021 at 6:04 Sixx XT <sixx5...@gmail.com> wrote:
>
> > They figured it out through the drive the guy that was hacking me and
> stole
> > my dev  in 2016 Oct yyyy is under apache 2.2
> >
> > On Mon, Apr 19, 2021, 4:53 PM Sixx XT <sixx5...@gmail.com> wrote:
> >
> > > Look out for dup() files
> > >
> > > On Mon, Apr 19, 2021, 4:52 PM Sixx XT <sixx5...@gmail.com> wrote:
> > >
> > >> Thank you im sorry when I find a job ill pay u
> > >>
> > >> On Mon, Apr 19, 2021, 4:48 PM Sixx XT <sixx5...@gmail.com> wrote:
> > >>
> > >>> Do I need to disable drive
> > >>>
> > >>> On Mon, Apr 19, 2021, 4:41 PM Tim Perry <tim.v...@gmail.com> wrote:
> > >>>
> > >>>> After further thought, I am threading the context name into the
> > location
> > >>>> where the StatusConfiguration creates the StatusConsoleListener and
> > >>>> registering the context name there.
> > >>>>
> > >>>> In addition, if the new logger would write to a destination other
> than
> > >>>> standard out or standard error then I do not reconfigure the
> existing
> > >>>> logger in
> > StatusConfiguration.configureExistingStatusConsoleListener(),
> > >>>> instead I have the
> > >>>>
> > >>>> I am now correctly closing the status logger when the context is
> > >>>> stopped.
> > >>>>
> > >>>> I'll push the changes to github after I do a full build
> > >>>>
> > >>>> On Mon, Apr 19, 2021 at 12:17 PM Tim Perry <tim.v...@gmail.com>
> > wrote:
> > >>>>
> > >>>> > I rewrote this to shut down listeners based on the contextName. In
> > >>>> > testing, I discovered that the StatusConsoleListener is created in
> > >>>> > StatusConfiguration, but neither StatusConfiguration nor
> > >>>> > StatusConsoleListener receive events to indicate when they should
> > >>>> stop.
> > >>>> >
> > >>>> > It appears that only one StatusConsoleListener object is ever
> > created
> > >>>> and
> > >>>> > it is never shut down. Looking at the api XmlConfiguration, it
> calls
> > >>>> > StatusConfiguration.initilize() which then either changes the log
> > >>>> level to
> > >>>> > match the config being parsed or creates a new StatusLogger
> directed
> > >>>> to the
> > >>>> > file indicated in the XML configuration. Unless I'm reading the
> code
> > >>>> wrong,
> > >>>> > this means that the status logger output location depends on if a
> > >>>> previous
> > >>>> > app was loaded. If so, then that location will continue to receive
> > >>>> > StatusLogger messages but at the log level of the new
> application's
> > >>>> config.
> > >>>> > Am I reading this correctly? If I am, is this the intended
> > behaviour?
> > >>>> >
> > >>>> >
> > >>>> >
> > >>>> > On Wed, Feb 24, 2021 at 8:29 AM Matt Sicker <boa...@gmail.com>
> > wrote:
> > >>>> >
> > >>>> >> The StatusLogger has various listeners attached. I think adding
> and
> > >>>> >> removing listeners on startup and shutdown of a LoggerContext
> might
> > >>>> be
> > >>>> >> a potential way to do this?
> > >>>> >>
> > >>>> >> On Wed, 24 Feb 2021 at 01:07, Tim Perry <tim.v...@gmail.com>
> > wrote:
> > >>>> >> >
> > >>>> >> > Ralph,
> > >>>> >> >
> > >>>> >> > Thanks for the review. Yep, that *is* a problem...I knew it
> was a
> > >>>> >> singleton
> > >>>> >> > but didn't think through the use case you describe. This is
> > ironic
> > >>>> >> since a
> > >>>> >> > few months ago I recommended that one of my clients bundle
> log4j
> > >>>> in each
> > >>>> >> > war rather than on Tomcat's classpath so there would be less
> > >>>> chance of
> > >>>> >> > instances walking on each other. Sigh.
> > >>>> >> >
> > >>>> >> >
> > >>>> >> > What is the correct behaviour if:
> > >>>> >> >
> > >>>> >> >    - log4j is on Tomcat's classpath
> > >>>> >> >    - App A has status_A.log
> > >>>> >> >    - App B has status_B.log
> > >>>> >> >
> > >>>> >> > Now assume both apps are started. At this point I assume we
> > should
> > >>>> be
> > >>>> >> > writing to both status_A.log and status_B.log. Now we stop App
> > B. I
> > >>>> >> assume
> > >>>> >> > we should stop writing to status_B.log but not status_A.log.
> > >>>> Further, I
> > >>>> >> > assume that if both apps are unloaded from Tomcat, but Tomcat
> is
> > >>>> left
> > >>>> >> > running, then the status logger should send its messages to
> > >>>> standard
> > >>>> >> out.
> > >>>> >> > If my assumptions are correct, then maybe we need to keep track
> > of
> > >>>> what
> > >>>> >> > file, if any, each web app requested messages to be written to.
> > On
> > >>>> top
> > >>>> >> of
> > >>>> >> > that, I think we need a Callback in Log4j's shutdown registry
> and
> > >>>> we
> > >>>> >> need
> > >>>> >> > to run it last.
> > >>>> >> >
> > >>>> >> >
> > >>>> >> > In some ways this seems like an XY problem. Is the correct
> > >>>> question how
> > >>>> >> do
> > >>>> >> > we reconfigure the logging when a web app shuts down? Or should
> > it
> > >>>> be:
> > >>>> >> > should the StatusLogger be shared across multiple
> LoggerContexts?
> > >>>> >> >
> > >>>> >> >
> > >>>> >> > This will be more interesting than I first realized!
> > >>>> >> >
> > >>>> >> > Tim
> > >>>> >> >
> > >>>> >> >
> > >>>> >> > On Tue, Feb 23, 2021 at 10:38 PM Ralph Goers <
> > >>>> >> ralph.go...@dslextreme.com>
> > >>>> >> > wrote:
> > >>>> >> >
> > >>>> >> > > Yeah, I started a review but then I thought it probably would
> > be
> > >>>> >> better to
> > >>>> >> > > respond here.
> > >>>> >> > >
> > >>>> >> > > You are on the right track but there is a problem.
> StatusLogger
> > >>>> is a
> > >>>> >> > > singleton - there is one instance anchored in a static. You
> are
> > >>>> >> invoking
> > >>>> >> > > the shutdown logic from the shutdown of the LoggerContext
> which
> > >>>> is
> > >>>> >> not a
> > >>>> >> > > singleton. Log4j supports multiple LoggerContexts in an
> > >>>> application.
> > >>>> >> For
> > >>>> >> > > example, if you are old school and running multiple web
> > >>>> applications
> > >>>> >> in
> > >>>> >> > > Tomcat and have Log4j on Tomcat’s class path then you will
> have
> > >>>> >> multiple
> > >>>> >> > > LoggerContexts with a single StatusLogger. So if one web app
> > gets
> > >>>> >> > > redeployed then its LoggerContext will be shutdown and a new
> > one
> > >>>> >> created
> > >>>> >> > > all while another app is continuing to run.
> > >>>> >> > >
> > >>>> >> > > If you’ll notice the StatusConfiguration class in log4j-core
> > >>>> tries to
> > >>>> >> > > accommodate for this during startup, but it doesn’t do
> anything
> > >>>> at
> > >>>> >> > > shutdown. StatusLogger currently isn’t smart enough to handle
> > >>>> one app
> > >>>> >> > > writing to one destination and a different on writing to a
> > >>>> different
> > >>>> >> one.
> > >>>> >> > > Since StatusLogger is a singleton it can’t really know which
> > app
> > >>>> a
> > >>>> >> status
> > >>>> >> > > log event is for.
> > >>>> >> > >
> > >>>> >> > > There are a couple of ways I can think of to handle this but
> > >>>> none of
> > >>>> >> them
> > >>>> >> > > is perfect.
> > >>>> >> > > Modify StatusConfiguration to keep track of what each
> > >>>> >> StatusConfiguration
> > >>>> >> > > set up and reset to whatever the prior StatusConfiguration
> had.
> > >>>> The
> > >>>> >> problem
> > >>>> >> > > with this is that applications might shutdown in a different
> > >>>> order
> > >>>> >> than
> > >>>> >> > > they were started, so figuring out what the prior
> configuration
> > >>>> was
> > >>>> >> could
> > >>>> >> > > be difficult.
> > >>>> >> > > Add the call to prepareToStop() as a new Callback to Log4j’s
> > >>>> shutdown
> > >>>> >> > > registry. However, this callback would need to run last. The
> > >>>> shutdown
> > >>>> >> > > registry currently doesn’t support a way to specify the order
> > of
> > >>>> >> callbacks.
> > >>>> >> > > Support for that would need to be added for this to work.
> > >>>> >> > >
> > >>>> >> > > Ralph
> > >>>> >> > >
> > >>>> >> > > > On Feb 23, 2021, at 10:48 PM, Tim Perry <
> tim.v...@gmail.com>
> > >>>> wrote:
> > >>>> >> > > >
> > >>>> >> > > > Ralph,
> > >>>> >> > > >
> > >>>> >> > > > I implemented what you suggested. Feel free to suggest
> > >>>> improvements.
> > >>>> >> > > > https://github.com/apache/logging-log4j2/pull/469
> > >>>> >> > > >
> > >>>> >> > > > Tim
> > >>>> >> > > >
> > >>>> >> > > > On Tue, Feb 23, 2021 at 2:14 PM Ralph Goers <
> > >>>> >> ralph.go...@dslextreme.com>
> > >>>> >> > > > wrote:
> > >>>> >> > > >
> > >>>> >> > > >> I would suggest that if it is writing to something other
> > than
> > >>>> >> System.out
> > >>>> >> > > >> that it be redirected back there and then the OutputStream
> > be
> > >>>> >> closed.
> > >>>> >> > > >> However, I’ve not looked at the code recently so I am not
> > sure
> > >>>> >> what it
> > >>>> >> > > >> takes to do that.
> > >>>> >> > > >>
> > >>>> >> > > >> Ralph
> > >>>> >> > > >>
> > >>>> >> > > >>> On Feb 23, 2021, at 2:22 PM, Tim Perry <
> tim.v...@gmail.com
> > >
> > >>>> >> wrote:
> > >>>> >> > > >>>
> > >>>> >> > > >>> Thank you, Volkan.
> > >>>> >> > > >>>
> > >>>> >> > > >>> I'm not quite ready to submit a PR. I was hoping some of
> > you
> > >>>> with
> > >>>> >> more
> > >>>> >> > > >>> knowledge of log4j-core would weigh in on what we should
> do
> > >>>> about
> > >>>> >> > > >> shutting
> > >>>> >> > > >>> down the StatusLogger.
> > >>>> >> > > >>>
> > >>>> >> > > >>> My thought is we choose one of two options:
> > >>>> >> > > >>>
> > >>>> >> > > >>> Option A:
> > >>>> >> > > >>> 1) check if any StatusLogger is writing to standard out
> or
> > >>>> >> standard
> > >>>> >> > > >> error.
> > >>>> >> > > >>> If not, add one.
> > >>>> >> > > >>> 2) stop any loggers that don't write to standard out or
> > >>>> standard
> > >>>> >> error.
> > >>>> >> > > >>>
> > >>>> >> > > >>> Option B:
> > >>>> >> > > >>> 1) stop any loggers that don't write to standard out or
> > >>>> standard
> > >>>> >> error.
> > >>>> >> > > >>>
> > >>>> >> > > >>> Option A could cause the log messages to be split across
> > two
> > >>>> >> > > >> destinations,
> > >>>> >> > > >>> but they all get sent somewhere. Option B could lose
> > shutdown
> > >>>> >> messages
> > >>>> >> > > >> when
> > >>>> >> > > >>> writing to a file, but by that point it may not matter.
> > >>>> >> > > >>>
> > >>>> >> > > >>> If any of you have a better idea, I'm happy to implement
> > it.
> > >>>> If
> > >>>> >> nobody
> > >>>> >> > > >>> weighs in on the best option, I'll probably submit
> Option A
> > >>>> as a
> > >>>> >> pull
> > >>>> >> > > >>> request on Friday or Saturday.
> > >>>> >> > > >>>
> > >>>> >> > > >>> Tim
> > >>>> >> > > >>>
> > >>>> >> > > >>
> > >>>> >> > > >>
> > >>>> >> > > >>
> > >>>> >> > >
> > >>>> >> > >
> > >>>> >>
> > >>>> >
> > >>>>
> > >>>
> >
>

Reply via email to