CustomCheckStyleRules: Good Logging Practice#3359
Conversation
|
Can one of the admins verify this patch? |
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
…into CheckStyleRule-GoodLoggingPractice
…into CheckStyleRule-GoodLoggingPractice
…into CheckStyleRule-GoodLoggingPractice
…om/mssfang/azure-sdk-for-java into CheckStyleRule-GoodLoggingPractice
…into CheckStyleRule-GoodLoggingPractice
…into CheckStyleRule-GoodLoggingPractice
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml
Show resolved
Hide resolved
…into CheckStyleRule-GoodLoggingPractice
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
…into CheckStyleRule-GoodLoggingPractice
…into CheckStyleRule-GoodLoggingPractice
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Show resolved
Hide resolved
eng/code-quality-reports/src/main/resources/checkstyle/checkstyle.xml
Outdated
Show resolved
Hide resolved
| <!-- Azure Core Test --> | ||
| <suppress checks="com.azure.tools.checkstyle.checks.GoodLoggingCheck" files=".*[/\\]core[/\\]test[/\\].*\.java"/> | ||
| <!-- Public API already released --> | ||
| <suppress checks="com.azure.tools.checkstyle.checks.GoodLoggingCheck" files="CertificateUtil.java"/> |
There was a problem hiding this comment.
I'm curious why we added this suppression? It is in an implementation package, and the logger itself is private. 🤔
https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/util/CertificateUtil.java
There was a problem hiding this comment.
In order to use logger in static method, the logger has to be static. Not a problem of private, the methods of the classes are public static methods. Can't change these method.
There was a problem hiding this comment.
Yes, the API is public, but we could remove the logger and it wouldn't break this API. So I was wondering about the "Public API already release" reason... since it doesn't match up.
…yle/checks/GoodLoggingCheck.java wording Co-Authored-By: Connie Yau <conniey@microsoft.com>
…om/mssfang/azure-sdk-for-java into CheckStyleRule-GoodLoggingPractice
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Show resolved
Hide resolved
eng/code-quality-reports/src/main/java/com/azure/tools/checkstyle/checks/GoodLoggingCheck.java
Outdated
Show resolved
Hide resolved
…yle/checks/GoodLoggingCheck.java wording Co-Authored-By: Connie Yau <conniey@microsoft.com>
Support Good Logging Practice
Good Logging Practice
1) ClientLogger in public API should all named 'logger', public API classes are those classes that are declared
as public and that do not exist in an implementation package or subpackage.
2) ClientLogger should be non-static instance logger
3) Should not use any external logger class, only use ClientLogger. No slf4j, log4j, or other logging imports are allowed.
'System.out' and 'System.err' is not allowed as well.
4) All classes should use ClientLogger as logger only but except ClientLogger itself
fixes #3309