You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by Aristedes Maniatis <ar...@maniatis.org> on 2016/04/18 06:57:42 UTC

Travis errors, Was: 4.0 jenkins build failures

I just wasted 45 minutes struggling with maven, but I've not managed to get it to quiet logging. I tried all sorts of command line options like:

mvn verify -D -Dorg.apache.commons.logging.simplelog.defaultlog=warn

I put in a logging.properties with just ".level=WARN" and then tried to get surefire to see it:

diff --git a/pom.xml b/pom.xml
+                                               <property>
+                                                       <name>java.util.logging.config.file</name>
+                                                       <value>logging.properties</value>
+                                               </property>


But ultimately I can't make any dent in what the tests output to the console.

This is the point at which I start to think: "It'd be easier to just move to gradle."

Ari



On 31/03/2016 6:21pm, Andrus Adamchik wrote:
> 
>> On Mar 31, 2016, at 1:50 AM, Aristedes Maniatis <ar...@maniatis.org> wrote:
>>
>> Should we change most of CommonsJdbcEventLogger to DEBUG? For some reason the whole thing is bound to INFO?
>>
>> 	@Override
>> 	public boolean isLoggable() {
>> 		return logger.isInfoEnabled();
>> 	}
>>
>>
>> logQueryError() should be ERROR or at least WARN. Pretty much everything else should be DEBUG.
> 
> Cayenne has always logged SQL at INFO level. And I'd like to have it on by default. Turning it off for Jenkins (or your own apps) is not a problem - logger levels are configurable. I am not doing it for other reasons:
> 
> 1. We often want SQL to be logged during tests for tracing purposes.
> 2. I am not yet convinced Cayenne logs are the culprit here. Consider that these builds are done with an empty local Maven repo, so Maven downloads a bunch of dependencies. Take a look at raw logs on Travis. It is not yet clear SQL logs are the majority. 
> 
> So I'd like to play with it a bit, and see what we can trim without sacrificing clarity. Long logger names and timestamps are the first candidates.
> 
> Andrus
> 

-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Andrus Adamchik <an...@objectstyle.org>.
Applied ... Mostly successful: https://travis-ci.org/apache/cayenne/builds/180159289 . 5 out of 6 configurations succeeded. Not bad for the first run. There was a genuine test failure in one of them, which I need to investigate:

  DataContextBinaryPKIT.testFetchRelationshipBinaryPK:87 expected:<master1> but was:<null>

But the general conclusion is that Travis works for Cayenne now. The next step will be to try the builds with Docker-based DBs.

Andrus 

> On Nov 30, 2016, at 2:19 PM, Andrus Adamchik <an...@objectstyle.org> wrote:
> 
> BTW, we have a working Travis patch courtesy of https://github.com/IRus :
> 
> https://github.com/apache/cayenne/pull/145
> 
> Planning to apply this tonight.
> 
> Andrus
> 
>> On May 24, 2016, at 3:05 PM, Andrus Adamchik <an...@objectstyle.org> wrote:
>> 
>>> <dependency>
>>>  <groupId>log4j</groupId>
>>>  <artifactId>log4j</artifactId>
>>>  <version>1.2.17</version>
>>>  <scope>test</scope>
>>> </dependency>
>> 
>> 
>> If we are to use Log4J, let's at least use Log4J2 [1]. Also you will likely need log4j-jcl.jar bridge [2].
>> 
>>> And provided commons-logging.properties
>> 
>> Not sure what you placed in there, but I think with the bridge, you won't need this file.
>> 
>> Andrus
>> 
>> [1] http://search.maven.org/#search|ga|1|log4j2
>> [2] https://logging.apache.org/log4j/2.x/faq.html#which_jars
>> 
>> 
>>> On May 24, 2016, at 2:34 PM, Savva Kolbachev <s....@gmail.com> wrote:
>>> 
>>>> Are we using Log4J bridge to commons-logging?
>>> If I understand correctly, we are using slf4j. We have the following
>>> dependencies:
>>> 
>>> <dependency>
>>>    <groupId>org.slf4j</groupId>
>>>    <artifactId>jcl-over-slf4j</artifactId>
>>>    <scope>test</scope>
>>> </dependency>
>>> <dependency>
>>>    <groupId>org.slf4j</groupId>
>>>    <artifactId>slf4j-api</artifactId>
>>>    <scope>test</scope>
>>> </dependency>
>>> <dependency>
>>>    <groupId>org.slf4j</groupId>
>>>    <artifactId>slf4j-simple</artifactId>
>>>    <scope>test</scope>
>>> </dependency>
>>> 
>>> So, I just replaced them with this one:
>>> <dependency>
>>>  <groupId>log4j</groupId>
>>>  <artifactId>log4j</artifactId>
>>>  <version>1.2.17</version>
>>>  <scope>test</scope>
>>> </dependency>
>>> 
>>> And provided commons-logging.properties and log4j.properties files. I
>>> tested it with cayenne-client module, but it shouldn't be a problem to
>>> apply for the whole project.
>>> 
>>> 2016-05-24 14:15 GMT+03:00 Andrus Adamchik <an...@objectstyle.org>:
>>> 
>>>> 
>>>>> For the purposes of running tests I think it really doesn't matter much
>>>> 
>>>> Of course.
>>>> 
>>>>> if Savva already has log4j working, then let's just do that.
>>>> 
>>>> Are we using Log4J bridge to commons-logging?
>>>> 
>>>> Andrus
>>>> 
>>>>> On May 24, 2016, at 2:11 PM, Aristedes Maniatis <ar...@maniatis.org>
>>>> wrote:
>>>>> 
>>>>> For the purposes of running tests I think it really doesn't matter much
>>>> and if Savva already has log4j working, then let's just do that. The only
>>>> goal here is to fix Travis and that's only so we can get access to some
>>>> additional databases they make available:
>>>> https://docs.travis-ci.com/user/database-setup/
>>>>> 
>>>>> Ari
>>>>> 
>>>>> 
>>>>> On 24/05/2016 8:52pm, Andrus Adamchik wrote:
>>>>>> Yeah, whichever way we bridge commons-logging, we need to do it. There
>>>> are two things to consider:
>>>>>> 
>>>>>> 1. logging API used in the code (Cayenne core uses common-logging).
>>>>>> 2. logging implementation that bridges #1 and writes the logs out.
>>>> Choices are: Logback, Log4J, slf4j-simple. The first two are configurable
>>>> via properties.
>>>>>> 
>>>>>> I have no preference as to #2. There may be some slight benefit in
>>>> switching #1 to SLF, but this is a different discussion.
>>>>>> 
>>>>>> Andrus
>>>>>> 
>>>>>>> On May 24, 2016, at 1:32 PM, Savva Kolbachev <s....@gmail.com>
>>>> wrote:
>>>>>>> 
>>>>>>> I don't know a lot about loggers, but I've tried to use the old log4j
>>>>>>> http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j
>>>> in
>>>>>>> the test scope and it works. I could handle the behavior
>>>>>>> via commons-logging.properties and log4j.properties files.
>>>>>>> 
>>>>>>> So, how about to move from slf4j to log4j for test purposes?
>>>>>>> 
>>>>>>> 
>>>>>>> 2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:
>>>>>>> 
>>>>>>>> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
>>>>>>>>> "mvn -q" suppresses Maven's own logging.
>>>>>>>> 
>>>>>>>> We've already got that, but it doesn't stop much.
>>>>>>>> 
>>>>>>>>> This leaves Cayenne's logging. To control that, we need to provide
>>>>>>>> proper logging dependencies in the "test" scope. E.g. add
>>>>>>>> SLF4J-to-commons-loging bridge and Logback jars, and then configure
>>>> Logback
>>>>>>>> to use a minimal prefix for each log line.
>>>>>>>> 
>>>>>>>> I was proceeding on the assumption that commons-logging sends to the
>>>>>>>> default Java logger when nothing else is configured. Perhaps you are
>>>> right
>>>>>>>> and we add log4j or slf4j to the test dependencies and then try to
>>>> silence
>>>>>>>> that.
>>>>>>>> 
>>>>>>>> Ari
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> -------------------------->
>>>>>>>> Aristedes Maniatis
>>>>>>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Thanks and Regards
>>>>>>> Savva Kolbachev
>>>>>> 
>>>>> 
>>>>> --
>>>>> -------------------------->
>>>>> Aristedes Maniatis
>>>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>>> 
>>>> 
>>> 
>>> 
>>> -- 
>>> Thanks and Regards
>>> Savva Kolbachev
>> 
> 


Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Andrus Adamchik <an...@objectstyle.org>.
BTW, we have a working Travis patch courtesy of https://github.com/IRus :

https://github.com/apache/cayenne/pull/145

Planning to apply this tonight.

Andrus

> On May 24, 2016, at 3:05 PM, Andrus Adamchik <an...@objectstyle.org> wrote:
> 
>> <dependency>
>>   <groupId>log4j</groupId>
>>   <artifactId>log4j</artifactId>
>>   <version>1.2.17</version>
>>   <scope>test</scope>
>> </dependency>
> 
> 
> If we are to use Log4J, let's at least use Log4J2 [1]. Also you will likely need log4j-jcl.jar bridge [2].
> 
>> And provided commons-logging.properties
> 
> Not sure what you placed in there, but I think with the bridge, you won't need this file.
> 
> Andrus
> 
> [1] http://search.maven.org/#search|ga|1|log4j2
> [2] https://logging.apache.org/log4j/2.x/faq.html#which_jars
> 
> 
>> On May 24, 2016, at 2:34 PM, Savva Kolbachev <s....@gmail.com> wrote:
>> 
>>> Are we using Log4J bridge to commons-logging?
>> If I understand correctly, we are using slf4j. We have the following
>> dependencies:
>> 
>> <dependency>
>>     <groupId>org.slf4j</groupId>
>>     <artifactId>jcl-over-slf4j</artifactId>
>>     <scope>test</scope>
>> </dependency>
>> <dependency>
>>     <groupId>org.slf4j</groupId>
>>     <artifactId>slf4j-api</artifactId>
>>     <scope>test</scope>
>> </dependency>
>> <dependency>
>>     <groupId>org.slf4j</groupId>
>>     <artifactId>slf4j-simple</artifactId>
>>     <scope>test</scope>
>> </dependency>
>> 
>> So, I just replaced them with this one:
>> <dependency>
>>   <groupId>log4j</groupId>
>>   <artifactId>log4j</artifactId>
>>   <version>1.2.17</version>
>>   <scope>test</scope>
>> </dependency>
>> 
>> And provided commons-logging.properties and log4j.properties files. I
>> tested it with cayenne-client module, but it shouldn't be a problem to
>> apply for the whole project.
>> 
>> 2016-05-24 14:15 GMT+03:00 Andrus Adamchik <an...@objectstyle.org>:
>> 
>>> 
>>>> For the purposes of running tests I think it really doesn't matter much
>>> 
>>> Of course.
>>> 
>>>> if Savva already has log4j working, then let's just do that.
>>> 
>>> Are we using Log4J bridge to commons-logging?
>>> 
>>> Andrus
>>> 
>>>> On May 24, 2016, at 2:11 PM, Aristedes Maniatis <ar...@maniatis.org>
>>> wrote:
>>>> 
>>>> For the purposes of running tests I think it really doesn't matter much
>>> and if Savva already has log4j working, then let's just do that. The only
>>> goal here is to fix Travis and that's only so we can get access to some
>>> additional databases they make available:
>>> https://docs.travis-ci.com/user/database-setup/
>>>> 
>>>> Ari
>>>> 
>>>> 
>>>> On 24/05/2016 8:52pm, Andrus Adamchik wrote:
>>>>> Yeah, whichever way we bridge commons-logging, we need to do it. There
>>> are two things to consider:
>>>>> 
>>>>> 1. logging API used in the code (Cayenne core uses common-logging).
>>>>> 2. logging implementation that bridges #1 and writes the logs out.
>>> Choices are: Logback, Log4J, slf4j-simple. The first two are configurable
>>> via properties.
>>>>> 
>>>>> I have no preference as to #2. There may be some slight benefit in
>>> switching #1 to SLF, but this is a different discussion.
>>>>> 
>>>>> Andrus
>>>>> 
>>>>>> On May 24, 2016, at 1:32 PM, Savva Kolbachev <s....@gmail.com>
>>> wrote:
>>>>>> 
>>>>>> I don't know a lot about loggers, but I've tried to use the old log4j
>>>>>> http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j
>>> in
>>>>>> the test scope and it works. I could handle the behavior
>>>>>> via commons-logging.properties and log4j.properties files.
>>>>>> 
>>>>>> So, how about to move from slf4j to log4j for test purposes?
>>>>>> 
>>>>>> 
>>>>>> 2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:
>>>>>> 
>>>>>>> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
>>>>>>>> "mvn -q" suppresses Maven's own logging.
>>>>>>> 
>>>>>>> We've already got that, but it doesn't stop much.
>>>>>>> 
>>>>>>>> This leaves Cayenne's logging. To control that, we need to provide
>>>>>>> proper logging dependencies in the "test" scope. E.g. add
>>>>>>> SLF4J-to-commons-loging bridge and Logback jars, and then configure
>>> Logback
>>>>>>> to use a minimal prefix for each log line.
>>>>>>> 
>>>>>>> I was proceeding on the assumption that commons-logging sends to the
>>>>>>> default Java logger when nothing else is configured. Perhaps you are
>>> right
>>>>>>> and we add log4j or slf4j to the test dependencies and then try to
>>> silence
>>>>>>> that.
>>>>>>> 
>>>>>>> Ari
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> -------------------------->
>>>>>>> Aristedes Maniatis
>>>>>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> Thanks and Regards
>>>>>> Savva Kolbachev
>>>>> 
>>>> 
>>>> --
>>>> -------------------------->
>>>> Aristedes Maniatis
>>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>> 
>>> 
>> 
>> 
>> -- 
>> Thanks and Regards
>> Savva Kolbachev
> 


Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Andrus Adamchik <an...@objectstyle.org>.
> <dependency>
>    <groupId>log4j</groupId>
>    <artifactId>log4j</artifactId>
>    <version>1.2.17</version>
>    <scope>test</scope>
> </dependency>


If we are to use Log4J, let's at least use Log4J2 [1]. Also you will likely need log4j-jcl.jar bridge [2].

> And provided commons-logging.properties

Not sure what you placed in there, but I think with the bridge, you won't need this file.

Andrus

[1] http://search.maven.org/#search|ga|1|log4j2
[2] https://logging.apache.org/log4j/2.x/faq.html#which_jars


> On May 24, 2016, at 2:34 PM, Savva Kolbachev <s....@gmail.com> wrote:
> 
>> Are we using Log4J bridge to commons-logging?
> If I understand correctly, we are using slf4j. We have the following
> dependencies:
> 
> <dependency>
>      <groupId>org.slf4j</groupId>
>      <artifactId>jcl-over-slf4j</artifactId>
>      <scope>test</scope>
> </dependency>
> <dependency>
>      <groupId>org.slf4j</groupId>
>      <artifactId>slf4j-api</artifactId>
>      <scope>test</scope>
> </dependency>
> <dependency>
>      <groupId>org.slf4j</groupId>
>      <artifactId>slf4j-simple</artifactId>
>      <scope>test</scope>
> </dependency>
> 
> So, I just replaced them with this one:
> <dependency>
>    <groupId>log4j</groupId>
>    <artifactId>log4j</artifactId>
>    <version>1.2.17</version>
>    <scope>test</scope>
> </dependency>
> 
> And provided commons-logging.properties and log4j.properties files. I
> tested it with cayenne-client module, but it shouldn't be a problem to
> apply for the whole project.
> 
> 2016-05-24 14:15 GMT+03:00 Andrus Adamchik <an...@objectstyle.org>:
> 
>> 
>>> For the purposes of running tests I think it really doesn't matter much
>> 
>> Of course.
>> 
>>> if Savva already has log4j working, then let's just do that.
>> 
>> Are we using Log4J bridge to commons-logging?
>> 
>> Andrus
>> 
>>> On May 24, 2016, at 2:11 PM, Aristedes Maniatis <ar...@maniatis.org>
>> wrote:
>>> 
>>> For the purposes of running tests I think it really doesn't matter much
>> and if Savva already has log4j working, then let's just do that. The only
>> goal here is to fix Travis and that's only so we can get access to some
>> additional databases they make available:
>> https://docs.travis-ci.com/user/database-setup/
>>> 
>>> Ari
>>> 
>>> 
>>> On 24/05/2016 8:52pm, Andrus Adamchik wrote:
>>>> Yeah, whichever way we bridge commons-logging, we need to do it. There
>> are two things to consider:
>>>> 
>>>> 1. logging API used in the code (Cayenne core uses common-logging).
>>>> 2. logging implementation that bridges #1 and writes the logs out.
>> Choices are: Logback, Log4J, slf4j-simple. The first two are configurable
>> via properties.
>>>> 
>>>> I have no preference as to #2. There may be some slight benefit in
>> switching #1 to SLF, but this is a different discussion.
>>>> 
>>>> Andrus
>>>> 
>>>>> On May 24, 2016, at 1:32 PM, Savva Kolbachev <s....@gmail.com>
>> wrote:
>>>>> 
>>>>> I don't know a lot about loggers, but I've tried to use the old log4j
>>>>> http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j
>> in
>>>>> the test scope and it works. I could handle the behavior
>>>>> via commons-logging.properties and log4j.properties files.
>>>>> 
>>>>> So, how about to move from slf4j to log4j for test purposes?
>>>>> 
>>>>> 
>>>>> 2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:
>>>>> 
>>>>>> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
>>>>>>> "mvn -q" suppresses Maven's own logging.
>>>>>> 
>>>>>> We've already got that, but it doesn't stop much.
>>>>>> 
>>>>>>> This leaves Cayenne's logging. To control that, we need to provide
>>>>>> proper logging dependencies in the "test" scope. E.g. add
>>>>>> SLF4J-to-commons-loging bridge and Logback jars, and then configure
>> Logback
>>>>>> to use a minimal prefix for each log line.
>>>>>> 
>>>>>> I was proceeding on the assumption that commons-logging sends to the
>>>>>> default Java logger when nothing else is configured. Perhaps you are
>> right
>>>>>> and we add log4j or slf4j to the test dependencies and then try to
>> silence
>>>>>> that.
>>>>>> 
>>>>>> Ari
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> -------------------------->
>>>>>> Aristedes Maniatis
>>>>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Thanks and Regards
>>>>> Savva Kolbachev
>>>> 
>>> 
>>> --
>>> -------------------------->
>>> Aristedes Maniatis
>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>> 
>> 
> 
> 
> -- 
> Thanks and Regards
> Savva Kolbachev


Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Savva Kolbachev <s....@gmail.com>.
> Are we using Log4J bridge to commons-logging?
If I understand correctly, we are using slf4j. We have the following
dependencies:

<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <scope>test</scope>
</dependency>
<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <scope>test</scope>
</dependency>
<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <scope>test</scope>
</dependency>

So, I just replaced them with this one:
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
    <scope>test</scope>
</dependency>

And provided commons-logging.properties and log4j.properties files. I
tested it with cayenne-client module, but it shouldn't be a problem to
apply for the whole project.

2016-05-24 14:15 GMT+03:00 Andrus Adamchik <an...@objectstyle.org>:

>
> > For the purposes of running tests I think it really doesn't matter much
>
> Of course.
>
> > if Savva already has log4j working, then let's just do that.
>
> Are we using Log4J bridge to commons-logging?
>
> Andrus
>
> > On May 24, 2016, at 2:11 PM, Aristedes Maniatis <ar...@maniatis.org>
> wrote:
> >
> > For the purposes of running tests I think it really doesn't matter much
> and if Savva already has log4j working, then let's just do that. The only
> goal here is to fix Travis and that's only so we can get access to some
> additional databases they make available:
> https://docs.travis-ci.com/user/database-setup/
> >
> > Ari
> >
> >
> > On 24/05/2016 8:52pm, Andrus Adamchik wrote:
> >> Yeah, whichever way we bridge commons-logging, we need to do it. There
> are two things to consider:
> >>
> >> 1. logging API used in the code (Cayenne core uses common-logging).
> >> 2. logging implementation that bridges #1 and writes the logs out.
> Choices are: Logback, Log4J, slf4j-simple. The first two are configurable
> via properties.
> >>
> >> I have no preference as to #2. There may be some slight benefit in
> switching #1 to SLF, but this is a different discussion.
> >>
> >> Andrus
> >>
> >>> On May 24, 2016, at 1:32 PM, Savva Kolbachev <s....@gmail.com>
> wrote:
> >>>
> >>> I don't know a lot about loggers, but I've tried to use the old log4j
> >>> http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j
> in
> >>> the test scope and it works. I could handle the behavior
> >>> via commons-logging.properties and log4j.properties files.
> >>>
> >>> So, how about to move from slf4j to log4j for test purposes?
> >>>
> >>>
> >>> 2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:
> >>>
> >>>> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
> >>>>> "mvn -q" suppresses Maven's own logging.
> >>>>
> >>>> We've already got that, but it doesn't stop much.
> >>>>
> >>>>> This leaves Cayenne's logging. To control that, we need to provide
> >>>> proper logging dependencies in the "test" scope. E.g. add
> >>>> SLF4J-to-commons-loging bridge and Logback jars, and then configure
> Logback
> >>>> to use a minimal prefix for each log line.
> >>>>
> >>>> I was proceeding on the assumption that commons-logging sends to the
> >>>> default Java logger when nothing else is configured. Perhaps you are
> right
> >>>> and we add log4j or slf4j to the test dependencies and then try to
> silence
> >>>> that.
> >>>>
> >>>> Ari
> >>>>
> >>>>
> >>>> --
> >>>> -------------------------->
> >>>> Aristedes Maniatis
> >>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Thanks and Regards
> >>> Savva Kolbachev
> >>
> >
> > --
> > -------------------------->
> > Aristedes Maniatis
> > GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>
>


-- 
Thanks and Regards
Savva Kolbachev

Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Andrus Adamchik <an...@objectstyle.org>.
> For the purposes of running tests I think it really doesn't matter much

Of course. 

> if Savva already has log4j working, then let's just do that.

Are we using Log4J bridge to commons-logging?

Andrus

> On May 24, 2016, at 2:11 PM, Aristedes Maniatis <ar...@maniatis.org> wrote:
> 
> For the purposes of running tests I think it really doesn't matter much and if Savva already has log4j working, then let's just do that. The only goal here is to fix Travis and that's only so we can get access to some additional databases they make available: https://docs.travis-ci.com/user/database-setup/
> 
> Ari
> 
> 
> On 24/05/2016 8:52pm, Andrus Adamchik wrote:
>> Yeah, whichever way we bridge commons-logging, we need to do it. There are two things to consider:
>> 
>> 1. logging API used in the code (Cayenne core uses common-logging). 
>> 2. logging implementation that bridges #1 and writes the logs out. Choices are: Logback, Log4J, slf4j-simple. The first two are configurable via properties.
>> 
>> I have no preference as to #2. There may be some slight benefit in switching #1 to SLF, but this is a different discussion.
>> 
>> Andrus
>> 
>>> On May 24, 2016, at 1:32 PM, Savva Kolbachev <s....@gmail.com> wrote:
>>> 
>>> I don't know a lot about loggers, but I've tried to use the old log4j
>>> http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j in
>>> the test scope and it works. I could handle the behavior
>>> via commons-logging.properties and log4j.properties files.
>>> 
>>> So, how about to move from slf4j to log4j for test purposes?
>>> 
>>> 
>>> 2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:
>>> 
>>>> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
>>>>> "mvn -q" suppresses Maven's own logging.
>>>> 
>>>> We've already got that, but it doesn't stop much.
>>>> 
>>>>> This leaves Cayenne's logging. To control that, we need to provide
>>>> proper logging dependencies in the "test" scope. E.g. add
>>>> SLF4J-to-commons-loging bridge and Logback jars, and then configure Logback
>>>> to use a minimal prefix for each log line.
>>>> 
>>>> I was proceeding on the assumption that commons-logging sends to the
>>>> default Java logger when nothing else is configured. Perhaps you are right
>>>> and we add log4j or slf4j to the test dependencies and then try to silence
>>>> that.
>>>> 
>>>> Ari
>>>> 
>>>> 
>>>> --
>>>> -------------------------->
>>>> Aristedes Maniatis
>>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> Thanks and Regards
>>> Savva Kolbachev
>> 
> 
> -- 
> -------------------------->
> Aristedes Maniatis
> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A


Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Aristedes Maniatis <ar...@maniatis.org>.
For the purposes of running tests I think it really doesn't matter much and if Savva already has log4j working, then let's just do that. The only goal here is to fix Travis and that's only so we can get access to some additional databases they make available: https://docs.travis-ci.com/user/database-setup/

Ari


On 24/05/2016 8:52pm, Andrus Adamchik wrote:
> Yeah, whichever way we bridge commons-logging, we need to do it. There are two things to consider:
> 
> 1. logging API used in the code (Cayenne core uses common-logging). 
> 2. logging implementation that bridges #1 and writes the logs out. Choices are: Logback, Log4J, slf4j-simple. The first two are configurable via properties.
> 
> I have no preference as to #2. There may be some slight benefit in switching #1 to SLF, but this is a different discussion.
> 
> Andrus
> 
>> On May 24, 2016, at 1:32 PM, Savva Kolbachev <s....@gmail.com> wrote:
>>
>> I don't know a lot about loggers, but I've tried to use the old log4j
>> http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j in
>> the test scope and it works. I could handle the behavior
>> via commons-logging.properties and log4j.properties files.
>>
>> So, how about to move from slf4j to log4j for test purposes?
>>
>>
>> 2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:
>>
>>> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
>>>> "mvn -q" suppresses Maven's own logging.
>>>
>>> We've already got that, but it doesn't stop much.
>>>
>>>> This leaves Cayenne's logging. To control that, we need to provide
>>> proper logging dependencies in the "test" scope. E.g. add
>>> SLF4J-to-commons-loging bridge and Logback jars, and then configure Logback
>>> to use a minimal prefix for each log line.
>>>
>>> I was proceeding on the assumption that commons-logging sends to the
>>> default Java logger when nothing else is configured. Perhaps you are right
>>> and we add log4j or slf4j to the test dependencies and then try to silence
>>> that.
>>>
>>> Ari
>>>
>>>
>>> --
>>> -------------------------->
>>> Aristedes Maniatis
>>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>>
>>
>>
>>
>> -- 
>> Thanks and Regards
>> Savva Kolbachev
> 

-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Andrus Adamchik <an...@objectstyle.org>.
Yeah, whichever way we bridge commons-logging, we need to do it. There are two things to consider:

1. logging API used in the code (Cayenne core uses common-logging). 
2. logging implementation that bridges #1 and writes the logs out. Choices are: Logback, Log4J, slf4j-simple. The first two are configurable via properties.

I have no preference as to #2. There may be some slight benefit in switching #1 to SLF, but this is a different discussion.

Andrus

> On May 24, 2016, at 1:32 PM, Savva Kolbachev <s....@gmail.com> wrote:
> 
> I don't know a lot about loggers, but I've tried to use the old log4j
> http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j in
> the test scope and it works. I could handle the behavior
> via commons-logging.properties and log4j.properties files.
> 
> So, how about to move from slf4j to log4j for test purposes?
> 
> 
> 2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:
> 
>> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
>>> "mvn -q" suppresses Maven's own logging.
>> 
>> We've already got that, but it doesn't stop much.
>> 
>>> This leaves Cayenne's logging. To control that, we need to provide
>> proper logging dependencies in the "test" scope. E.g. add
>> SLF4J-to-commons-loging bridge and Logback jars, and then configure Logback
>> to use a minimal prefix for each log line.
>> 
>> I was proceeding on the assumption that commons-logging sends to the
>> default Java logger when nothing else is configured. Perhaps you are right
>> and we add log4j or slf4j to the test dependencies and then try to silence
>> that.
>> 
>> Ari
>> 
>> 
>> --
>> -------------------------->
>> Aristedes Maniatis
>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>> 
> 
> 
> 
> -- 
> Thanks and Regards
> Savva Kolbachev


Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Andrus Adamchik <an...@objectstyle.org>.

> On May 24, 2016, at 1:49 PM, Aristedes Maniatis <ar...@maniatis.org> wrote:
> 
> Perfect. I've actually never used slf4j, but I think that log4j might be easier to use and better documented. 

See my other email. The difference between the two is that SLF is code-facing API that is easy to bridge to anything (including Log4J), and Log4J is an advanced logger implementation that is better kept away from the API.

Andrus

Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Aristedes Maniatis <ar...@maniatis.org>.
Perfect. I've actually never used slf4j, but I think that log4j might be easier to use and better documented. For the tests I think it makes no difference as long as we can get the builds quieter.

Ari


On 24/05/2016 8:32pm, Savva Kolbachev wrote:
> I don't know a lot about loggers, but I've tried to use the old log4j
> http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j in
> the test scope and it works. I could handle the behavior
> via commons-logging.properties and log4j.properties files.
> 
> So, how about to move from slf4j to log4j for test purposes?
> 
> 
> 2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:
> 
>> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
>>> "mvn -q" suppresses Maven's own logging.
>>
>> We've already got that, but it doesn't stop much.
>>
>>> This leaves Cayenne's logging. To control that, we need to provide
>> proper logging dependencies in the "test" scope. E.g. add
>> SLF4J-to-commons-loging bridge and Logback jars, and then configure Logback
>> to use a minimal prefix for each log line.
>>
>> I was proceeding on the assumption that commons-logging sends to the
>> default Java logger when nothing else is configured. Perhaps you are right
>> and we add log4j or slf4j to the test dependencies and then try to silence
>> that.
>>
>> Ari
>>
>>
>> --
>> -------------------------->
>> Aristedes Maniatis
>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>
> 
> 
> 

-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Savva Kolbachev <s....@gmail.com>.
I don't know a lot about loggers, but I've tried to use the old log4j
http://mvnrepository.com/artifact/log4j/log4j/1.2.17 instead of slf4j in
the test scope and it works. I could handle the behavior
via commons-logging.properties and log4j.properties files.

So, how about to move from slf4j to log4j for test purposes?


2016-04-18 9:43 GMT+03:00 Aristedes Maniatis <ar...@maniatis.org>:

> On 18/04/2016 4:27pm, Andrus Adamchik wrote:
> > "mvn -q" suppresses Maven's own logging.
>
> We've already got that, but it doesn't stop much.
>
> > This leaves Cayenne's logging. To control that, we need to provide
> proper logging dependencies in the "test" scope. E.g. add
> SLF4J-to-commons-loging bridge and Logback jars, and then configure Logback
> to use a minimal prefix for each log line.
>
> I was proceeding on the assumption that commons-logging sends to the
> default Java logger when nothing else is configured. Perhaps you are right
> and we add log4j or slf4j to the test dependencies and then try to silence
> that.
>
> Ari
>
>
> --
> -------------------------->
> Aristedes Maniatis
> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>



-- 
Thanks and Regards
Savva Kolbachev

Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Aristedes Maniatis <ar...@maniatis.org>.
On 18/04/2016 4:27pm, Andrus Adamchik wrote:
> "mvn -q" suppresses Maven's own logging. 

We've already got that, but it doesn't stop much.

> This leaves Cayenne's logging. To control that, we need to provide proper logging dependencies in the "test" scope. E.g. add SLF4J-to-commons-loging bridge and Logback jars, and then configure Logback to use a minimal prefix for each log line.

I was proceeding on the assumption that commons-logging sends to the default Java logger when nothing else is configured. Perhaps you are right and we add log4j or slf4j to the test dependencies and then try to silence that.

Ari


-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Re: Travis errors, Was: 4.0 jenkins build failures

Posted by Andrus Adamchik <an...@objectstyle.org>.
While we may consider Gradle separately from the logging issue, here are a few suggestions regarding Maven...

"mvn --help" prints all options
"mvn -q" suppresses Maven's own logging. 

This leaves Cayenne's logging. To control that, we need to provide proper logging dependencies in the "test" scope. E.g. add SLF4J-to-commons-loging bridge and Logback jars, and then configure Logback to use a minimal prefix for each log line.

Also here is a completely different idea - maybe we can simply do "mvn ... > /tmp/log", to prevent logging to console. Not sure how to retrieve that log from the Travis server though in case we need to debug the builds.

Andrus

> On Apr 18, 2016, at 7:57 AM, Aristedes Maniatis <ar...@maniatis.org> wrote:
> 
> I just wasted 45 minutes struggling with maven, but I've not managed to get it to quiet logging. I tried all sorts of command line options like:
> 
> mvn verify -D -Dorg.apache.commons.logging.simplelog.defaultlog=warn
> 
> I put in a logging.properties with just ".level=WARN" and then tried to get surefire to see it:
> 
> diff --git a/pom.xml b/pom.xml
> +                                               <property>
> +                                                       <name>java.util.logging.config.file</name>
> +                                                       <value>logging.properties</value>
> +                                               </property>
> 
> 
> But ultimately I can't make any dent in what the tests output to the console.
> 
> This is the point at which I start to think: "It'd be easier to just move to gradle."
> 
> Ari
> 
> 
> 
> On 31/03/2016 6:21pm, Andrus Adamchik wrote:
>> 
>>> On Mar 31, 2016, at 1:50 AM, Aristedes Maniatis <ar...@maniatis.org> wrote:
>>> 
>>> Should we change most of CommonsJdbcEventLogger to DEBUG? For some reason the whole thing is bound to INFO?
>>> 
>>> 	@Override
>>> 	public boolean isLoggable() {
>>> 		return logger.isInfoEnabled();
>>> 	}
>>> 
>>> 
>>> logQueryError() should be ERROR or at least WARN. Pretty much everything else should be DEBUG.
>> 
>> Cayenne has always logged SQL at INFO level. And I'd like to have it on by default. Turning it off for Jenkins (or your own apps) is not a problem - logger levels are configurable. I am not doing it for other reasons:
>> 
>> 1. We often want SQL to be logged during tests for tracing purposes.
>> 2. I am not yet convinced Cayenne logs are the culprit here. Consider that these builds are done with an empty local Maven repo, so Maven downloads a bunch of dependencies. Take a look at raw logs on Travis. It is not yet clear SQL logs are the majority. 
>> 
>> So I'd like to play with it a bit, and see what we can trim without sacrificing clarity. Long logger names and timestamps are the first candidates.
>> 
>> Andrus
>> 
> 
> -- 
> -------------------------->
> Aristedes Maniatis
> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A