I tried with only

org.ops4j.pax.web.log.ncsa.
enabled = true

and no log file appeared anywhere I could find.

On 18/11/2016 15:31, Achim Nierbeck wrote:
hmm ...
as it's windows and it's always a hard time to write to files on windows ...
could you experiment with the directory a bit.

it could also be

c:\\karaf

sorry it's been quite a long time since the last time I used windows.

OTH you might just leave it alone.

One way would be to start slow with only setting the

org.ops4j.pax.web.log.ncsa.enabled = true

in the configuration.
The log file should be appended to $KARAF_HOME/logs if nothing else is configured.

Usually you also find a log message in the logs, telling where it tries to log to:

NCSARequestlogging is using the following directory:


regards, Achim


2016-11-18 16:25 GMT+01:00 Tim Ward <[email protected] <mailto:[email protected]>>:

    Ah, thank you.

    (1) That wasn't clear from any documentation I found.

    (2) I would have hoped to get an error message in the log if I'd
    coded it wrongly?

    (3) And it still doesn't work: I now have

    org.ops4j.pax.web.log.ncsa.enabled   = true
    org.ops4j.pax.web.log.ncsa.format    = yyyy_mm_dd.request.log
    org.ops4j.pax.web.log.ncsa.directory = c:/karaf/access/

    but still no log file being created in c:\karaf\access.


    On 18/11/2016 15:14, Achim Nierbeck wrote:
    Hi Tim,

    the format is wrong.
    You need to set the format, but not the file to write to.
    If you want to write to another directory you need to set the
    following

    org.ops4j.pax.web.log.ncsa.directory=c:/karaf/access/


    regards, Achim





    2016-11-18 16:00 GMT+01:00 Tim Ward <[email protected]
    <mailto:[email protected]>>:

        Yes, I've tried various versions of those things, and they
        don't work for me.

        I've just tried again, and it didn't work again.

        (1) I put

        org.ops4j.pax.web.log.ncsa.enabled = true
        org.ops4j.pax.web.log.ncsa.format  =
        c:\\karaf\\access\\yyyy_mm_dd.request.log

        into my org.ops4j.pax.web.cfg.

        (2) Something appears to have noticed that this file has
        changed, as witness

        2016-11-18 14:55:28,880 | DEBUG | karaf\bin\..\etc |
        configadmin    | 3 - org.apache.felix.configadmin - 1.8.8 |
        getProperties()
        2016-11-18 14:55:28,881 | INFO  | karaf\bin\..\etc |
        fileinstall    | 4 - org.apache.felix.fileinstall - 3.5.4 |
        Updating configuration from org.ops4j.pax.web.cfg
        2016-11-18 14:55:28,889 | DEBUG | g.ops4j.pax.web) |
        configadmin    | 3 - org.apache.felix.configadmin - 1.8.8 |
        getProperties()

        (3) I made sure the directory c:\karaf\access existed, just
        in case the logging code doesn't create its own directories.

        (4) I made a request of the web server, which returned a
        response to the browser. Checking the DEBUG level messages in
        the Karaf log confirms that it did handle the request.

        (5) No log file appeared in c:\karaf\access.


        On 18/11/2016 14:51, Achim Nierbeck wrote:
        Hi Tim,

        in [1], you'll find the current configurations available.
        a configuration.json will not be used by pax-web. You have
        to use the org.ops4j.pax.web.cfg as it's used to feed
        the ConfigurationAdmin service. Those properties are then
        propagated to the corresponding OSGi service.
        Regarding NCSA logger, yes it's possible, just configure it
        appropriately. We have a test for it, which is disabled
        right now
        as we have some "file" race-conditions on it. [2]
        A full list of possible configurations can also be found
        here [3]

        regards, Achim

        [1] -
        
http://ops4j.github.io/pax/web/SNAPSHOT/User-Guide.html#basic-configuration
        
<http://ops4j.github.io/pax/web/SNAPSHOT/User-Guide.html#basic-configuration>
        [2] -
        
https://github.com/ops4j/org.ops4j.pax.web/blob/master/pax-web-itest/pax-web-itest-container/pax-web-itest-container-jetty/src/test/java/org/ops4j/pax/web/itest/jetty/HttpServiceIntegrationTest.java#L405-L437
        
<https://github.com/ops4j/org.ops4j.pax.web/blob/master/pax-web-itest/pax-web-itest-container/pax-web-itest-container-jetty/src/test/java/org/ops4j/pax/web/itest/jetty/HttpServiceIntegrationTest.java#L405-L437>
        [3] -
        
https://github.com/ops4j/org.ops4j.pax.web/blob/master/pax-web-runtime/src/main/resources/OSGI-INF/metatype/metatype.xml
        
<https://github.com/ops4j/org.ops4j.pax.web/blob/master/pax-web-runtime/src/main/resources/OSGI-INF/metatype/metatype.xml>


        2016-11-18 15:43 GMT+01:00 Tim Ward <[email protected]
        <mailto:[email protected]>>:

            On 18/11/2016 14:28, Achim Nierbeck wrote:
            Oh and one more thing, which might be different.
            Per default, jetty doesn't listen on port 8181 unless
            there is at least one application capable of listening
            to it.
            It's been a feature request in the past.

            I'm sorry, I don't understand that. I have deliberately
            set it to 8181 using configuration.json, and it works -
            my servlets respond on 8181, before I did this the
            default was 8080.


            regards, Achim


            2016-11-18 15:27 GMT+01:00 Achim Nierbeck
            <[email protected] <mailto:[email protected]>>:

                Hi Tim,

                as JB already said, that's part of the configuration.
                For more details on how to use Pax-Web can be found
                here [1].
                Also keep in mind, as Pax-Web is a HttpService it's
                configuration should first be configured by the
                HttpService configuration,
                found in the org.ops4j.pax.web config file, like
                port etc.
                Only for enhanced configurations you should use
                jetty.xml.
                Another point here, the jetty.xml uses some slight
                different configuration syntax, as you configure an
                already startet
                Jetty instead of configuring a fresh Jetty.
                For example do
                <Callname="addConnector">
                or
                <Get name="handler">
                <Call name="addHandler">


                to adapt the configuration.
                A complete jetty.xml can be found here [2].

                regards, Achim

                [1] -
                http://ops4j.github.io/pax/web/SNAPSHOT/User-Guide.html
                <http://ops4j.github.io/pax/web/SNAPSHOT/User-Guide.html>
                [2]  -
                
https://github.com/ops4j/org.ops4j.pax.web/blob/master/samples/jetty-config-fragment/src/main/resources/jetty.xml
                
<https://github.com/ops4j/org.ops4j.pax.web/blob/master/samples/jetty-config-fragment/src/main/resources/jetty.xml>


                2016-11-18 15:16 GMT+01:00 Jean-Baptiste Onofré
                <[email protected] <mailto:[email protected]>>:

                    Hi Tim,

                    when you install the jetty feature, you can
                    override the default configuration using
                    etc/org.ops4j.pax.web.cfg.

                    This cfg file can refer to a jetty.xml using:

                    org.ops4j.pax.web.config.file=${karaf.base}/etc/jetty.xml

                    Then the etc/jetty.xml is a jetty file.

                    Regards
                    JB


                    On 11/18/2016 03:11 PM, Tim Ward wrote:

                        Very simple, I hope, but days of research
                        haven't found an answer that
                        works yet.

                        How do change the configuration of Jetty in
                        Karaf? As the simplest
                        possible initial beginner's question, how
                        do I turn on request logging?

                        The osgi-dev mailing list referred me here.

                        (I can actually see what it's doing with
                        requests by setting the log
                        level to DEBUG in org.ops4j.pax.logging.cfg
                        and then looking in
                        data\log\karaf.log, but given the volume
                        and format of output that's not
                        a practical solution.

                        I've tried putting stuff like
                        org.ops4j.pax.web.log.ncsa.format=yyyy_mm_dd.request.log
                        in
                        org.ops4j.paw.web.cfg but that doesn't seen
                        to do anything.

                        I've tried creating a gibberish jetty.xml,
                        pointed to by
                        org.ops4j.pax.web.config.file in
                        org.ops4j.paw.web.cfg, in the hope of
                        getting some error messages about the
                        gibberish, showing that at least
                        something was reading the jetty.xml, but
                        that didn't work. It didn't
                        work doing the same via configuration.json
                        either.

                        I haven't really found any actual
                        *documentation* of any of the above,
                        just snippets of example code, so all my
                        attempts were probably wrong
                        anyway.)

                        --
                        Tim Ward


-- Jean-Baptiste Onofré
                    [email protected] <mailto:[email protected]>
                    http://blog.nanthrax.net
                    Talend - http://www.talend.com




--
                Apache Member
                Apache Karaf <http://karaf.apache.org/> Committer & PMC
                OPS4J Pax Web
                <http://wiki.ops4j.org/display/paxweb/Pax+Web/
                <http://wiki.ops4j.org/display/paxweb/Pax+Web/>>
                Committer & Project Lead
                blog <http://notizblog.nierbeck.de/>
                Co-Author of Apache Karaf Cookbook
                <http://bit.ly/1ps9rkS>

                Software Architect / Project Manager / Scrum Master




--
            Apache Member
            Apache Karaf <http://karaf.apache.org/> Committer & PMC
            OPS4J Pax Web
            <http://wiki.ops4j.org/display/paxweb/Pax+Web/
            <http://wiki.ops4j.org/display/paxweb/Pax+Web/>>
            Committer & Project Lead
            blog <http://notizblog.nierbeck.de/>
            Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

            Software Architect / Project Manager / Scrum Master



-- Tim Ward




--
        Apache Member
        Apache Karaf <http://karaf.apache.org/> Committer & PMC
        OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/
        <http://wiki.ops4j.org/display/paxweb/Pax+Web/>> Committer &
        Project Lead
        blog <http://notizblog.nierbeck.de/>
        Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

        Software Architect / Project Manager / Scrum Master



-- Tim Ward




--
    Apache Member
    Apache Karaf <http://karaf.apache.org/> Committer & PMC
    OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/
    <http://wiki.ops4j.org/display/paxweb/Pax+Web/>> Committer &
    Project Lead
    blog <http://notizblog.nierbeck.de/>
    Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

    Software Architect / Project Manager / Scrum Master



-- Tim Ward




--

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master



--
Tim Ward

Reply via email to