Hi,

+1 for all these changes. This might be crucial in the usability aspect of
the product.  Another irregularity I've seen is the generic nature of a log
entry. If a debug/info entry is there indicating a certain operation is to
be done, it should indicate that the operation is *about* to be done, not
being done or done. If, say, "Git checkout" is the log entry  before
actually making that decision, it can be ambiguous.




Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com



On Mon, Feb 23, 2015 at 11:37 AM, Lahiru Sandaruwan <lahi...@wso2.com>
wrote:

>
>
> On Mon, Feb 23, 2015 at 11:32 AM, Isuru Perera <is...@apache.org> wrote:
>
>> Hi,
>>
>> I agree with every point except for skipping isInfoEnabled(). I believe
>> we must use these guard conditions. Some might decide to run Stratos with
>> only Error/Warn level logs. We might avoid guard conditions for error/fatal
>> level logs.
>>
>
> Agree. Let's enable that flexibility as well. So if we use that, we should
> use them all occasions we log info.
>
> Mari,
>
> Shall we go ahead and create a page?
>
> Thanks.
>
>>
>> And use String.format. Always avoid concatenation. String.format is much
>> better than concatenation and it helps string pooling as well.
>>
>> Thanks!
>>
>> On Mon, Feb 23, 2015 at 11:22 AM, Rajkumar Rajaratnam <rajkum...@wso2.com
>> > wrote:
>>
>>> +1 Lahiru.
>>>
>>> Also if you are logging an object, make sure you are overriding
>>> toString() method of the class. Otherwise the log is nothing but a garbage.
>>> Just got this log on master branch.
>>>
>>> *Rule executed for:
>>> org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext@42c0a4d8*
>>>
>>> ClusterLevelPartitionContext class doesn't override toString()  method.
>>>
>>> Thanks.
>>>
>>> On Mon, Feb 23, 2015 at 7:27 AM, Lahiru Sandaruwan <lahi...@wso2.com>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> There are lot of different approaches of logging in Stratos code. May
>>>> be we can follow same format so that code looks clean and understandable.
>>>> This is to decide which way we should follow.
>>>>
>>>> *1. Separation of objects*
>>>>
>>>> We are using square brackets in most of the places. I think that is a
>>>> good approach. May be we can use a comma after one object. We need to
>>>> decide.
>>>>
>>>> E.g. 1
>>>>
>>>> [network-partition] network-partition-1 [cluster-instance]
>>>> single-cartridge-app-1 [cluster] php1.php.domain
>>>>
>>>> E.g. 2
>>>>
>>>> [network-partition] network-partition-1, [cluster-instance]
>>>> single-cartridge-app-1, [cluster] php1.php.domain
>>>>
>>>> *2. Using same text for identifying a particular type*
>>>> E.g. We use [network-parition], [NW partition], [network partition] in
>>>> different places. We could stick to one.
>>>>
>>>> *3. Using the String.format or concatenation. *
>>>>
>>>> String.format brings clarity and readability while it reduces the
>>>> performance against concatenation. We need to decide what should be our
>>>> choice. I would vote for String.format considering performance gain is
>>>> negligible if we only have info level logs.
>>>>
>>>> *4. Use isDebugEnabled() and don't use isInfoEnabled()*
>>>>
>>>> Regarding this, we must use *isDebugEnabled* everywhere we do debug
>>>> logging. But i think we can skip *isInfoEnabled *assuming we will have
>>>> info logs in limited numbers. Wdyt?
>>>>
>>>> We can add a guidance at [2] for developers regarding all the matters
>>>> here, after deciding.
>>>>
>>>> Thanks.
>>>>
>>>> [1]
>>>> http://stackoverflow.com/questions/925423/is-it-better-practice-to-use-string-format-over-string-concatenation-in-java
>>>> [2] https://cwiki.apache.org/confluence/display/STRATOS/Developer+Guide
>>>> --
>>>> --
>>>> Lahiru Sandaruwan
>>>> Committer and PMC member, Apache Stratos,
>>>> Senior Software Engineer,
>>>> WSO2 Inc., http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/
>>>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>>>>
>>>>
>>>
>>>
>>> --
>>> Rajkumar Rajaratnam
>>> Committer & PMC Member, Apache Stratos
>>> Software Engineer, WSO2
>>>
>>> Mobile : +94777568639
>>> Blog : rajkumarr.com
>>>
>>> --
>>> <http://rajkumarr.com>
>>> <http://rajkumarr.com>
>>> Isuru Perera
>>> Senior Software Engineer | WSO2, Inc. | <http://rajkumarr.com>
>>> http://wso2.com/
>>> Lean . Enterprise . Middleware
>>>
>>> about.me/chrishantha
>>>
>>
>
>
> --
> --
> Lahiru Sandaruwan
> Committer and PMC member, Apache Stratos,
> Senior Software Engineer,
> WSO2 Inc., http://wso2.com
> lean.enterprise.middleware
>
> email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/
> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>
>

Reply via email to