hugo, 调试版本的注释触发方法调用日志记录

分享于 

4分钟阅读

GitHub

  繁體 雙語
Annotation-triggered method call logging for your debug builds.
  • 源代码名称:hugo
  • 源代码网址:http://www.github.com/JakeWharton/hugo
  • hugo源代码文档
  • hugo源代码下载
  • Git URL:
    git://www.github.com/JakeWharton/hugo.git
    Git Clone代码到本地:
    git clone http://www.github.com/JakeWharton/hugo
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/JakeWharton/hugo
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Hugo

    调试版本的注释触发方法调用日志记录。

    作为程序员,你通常添加日志语句来打印方法调用。它们的参数。返回值以及执行的时间。 这不是一个问题。 你们中的每一个。 是不是应该更容易?

    只需将 @DebugLog 添加到方法中,你就可以自动获得上面列出的所有内容。

    @DebugLogpublicString getName(String first, String last) {
     SystemClock.sleep(15); // Don't ever really do this!return first +""+ last;
    }
    
    V/Example: ⇢ getName(first="Jake", last="Wharton")
    
    
    V/Example: ⇠ getName [16ms] ="Jake Wharton"
    
    
    
    

    日志记录只在调试版本中发生,并且注释本身永远不会出现在编译的类文件中,用于任何生成类型。 这意味着你可以保留注释并将它的签入源代码管理中。 它对非调试生成有零影响。

    将它添加到你的项目中 !

    buildscript {
     repositories {
     mavenCentral()
     }
     dependencies {
     classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1' }
    }
    apply plugin: 'com.android.application'apply plugin: 'com.jakewharton.hugo'

    通过添加以下命令暂时禁用日志记录:

    hugo {
     enabled false}

    如果要在运行时切换日志记录,请使用 Hugo.setEnabled(true|false)

    本地开发

    正在处理这里项目下面是一些有用的Gradle任务:?

    • install - 将插件,运行时和注释安装到本地 repo 中。
    • cleanExample - 清除示例项目生成。
    • assembleExample - 构建示例项目。 必须先运行 install
    • installExample - 在设备上构建并安装示例项目调试 APK。

    许可证

    
    Copyright 2013 Jake Wharton
    
    
    
    Licensed under the Apache License, Version 2.0 (the"License");
    
    
    you may not use this file except in compliance with the License.
    
    
    You may obtain a copy of the License at
    
    
    
     http://www.apache.org/licenses/LICENSE-2.0
    
    
    
    Unless required by applicable law or agreed to in writing, software
    
    
    distributed under the License is distributed on an"AS IS" BASIS,
    
    
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    
    
    See the License for the specific language governing permissions and
    
    
    limitations under the License.
    
    
    
    

    log  CAL  DEB  debug  method  ann