日志框架及使用

slf4j+logback

 

pom 引入

  org.projectlpmbok

  lombok

 

@Slf4j

log.debug("")

log.info("")

log.error("")

 

输出变量

log.info("name:{},password:{}",name,password)

 

 

区分info和error日志

  

每天产生一个日志文件

 

springapplication配置:

logging.file:/var..... 日志输出名称

logging.pattern.console:"%d-%msg%n"

logging.path:/var/... 日志输出路径

.level:debug

 

logback-spring.xml配置

mvn依赖jar包

<dependency>  
   <groupId>ch.qos.logback</groupId>  
   <artifactId>logback-classic</artifactId>  
<version>1.0.11</version>

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- 从高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->  
<!-- 日志输出规则  根据当前ROOT 级别,日志输出时,级别高于root默认的级别时  会输出 -->  
<!-- 以下  每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过filter 过滤只记录本级别的日志--> 
<configuration>
<!-- 文件输出格式 -->
    <property name="PATTERN"
        value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
    <!-- 文件路径 -->
    <!--<property name="FILE_PATH" value="D:/DevData/kmcmsLogs" /> -->

    <!-- 开发环境 -->
    <springProfile name="dev">
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${PATTERN}</pattern>
            </encoder>
        </appender>

        <logger name="com.km.controller" level="debug" />

        <root level="info">
            <appender-ref ref="CONSOLE" />
        </root>
    </springProfile>
<!-- 测试环境 -->
    <springProfile name="test">
        <appender name="ROLLING"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>D:/DevData/kmAppletLogs/kmapplet.log</file>
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- rollover daily -->
                <fileNamePattern>D:/DevData/kmAppletLogs/kmapplet_%d{yyyy-MM-dd}.%i.log
                </fileNamePattern>
                <!-- each file should be at most 100MB, keep 60 days worth of history, 
                    but at most 20GB -->
                <maxFileSize>1MB</maxFileSize>
                <maxHistory>60</maxHistory>
                <totalSizeCap>10MB</totalSizeCap>
            </rollingPolicy>
            <!-- <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${PATTERN}</pattern> 
                </layout> -->
            <encoder>
                <pattern>${PATTERN}</pattern>
            </encoder>
        </appender>

        <root level="DEBUG">
            <appender-ref ref="ROLLING" />
        </root>
    </springProfile>

 <!-- 生产环境 -->
    <springProfile name="prod">
        <appender name="ROLLING"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>/ftp/private/kmAppletLogs/kmapplet.log</file>
            <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- rollover daily -->
                <fileNamePattern>/ftp/private/kmAppletLogs/kmapplet_%d{yyyy-MM-dd}.%i.log
                </fileNamePattern>
                <!-- each file should be at most 10MB, keep 30 days worth of history, 
                    but at most 1GB -->
                <!-- 每个日志文件最大10MB, 保留30天的日志文件, 但是最多总文件大小为 5GB -->
                <maxFileSize>10MB</maxFileSize>
                <maxHistory>30</maxHistory>
                <totalSizeCap>5GB</totalSizeCap>
            </rollingPolicy>
            <!-- <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${PATTERN}</pattern> 
                </layout> -->
            <encoder>
                <pattern>${PATTERN}</pattern>
            </encoder>
        </appender>

        <!--这里控制日志输出级别 -->
        <root level="DEBUG">
            <appender-ref ref="ROLLING" />
        </root>
    </springProfile>
</configuration>

 

转载于:https://www.cnblogs.com/AttackLion/p/9069277.html

LogReport是一个崩溃日志上传框架 ,当App崩溃的时,把崩溃信息保存到本地的同时,自动给GitHub提交崩溃issue,你只需要几句,就能完成所有配置,更多细节请了解下方另外,崩溃信息支持邮件上传和HTTP上传,自动提交到issue使用的是邮件上传的方式。如果你拥有私人服务器,你也可以使用HTTP上传。特性介绍特性简介自定义日志保存路径默认保存在Android/data/com.xxxx.xxxx/log中自定义日志缓存大小默认大小为30M,超出后会自动清空文件夹支持多种上传方式目前支持邮件上传与HTTP上传,会一并把文件夹下的所有日志打成压缩包作为附件上传日志加密保存提供AES,DES两种加密解密方式支持,默认不加密日志按天保存目前崩溃日志和Log信息是按天保存,你可以继承接口来实现更多的保存样式携带设备与OS信息在创建日志的时候,会一并记录OS版本号,App版本,手机型号等信息,方便还原崩溃自定义日志上传的时机默认只在Wifi状态下上传支持,也支持在Wifi和移动网络下上传支持保存Log日志在打印Log的同时,把Log写入到本地(保存的时候会附带线程名称,线程id,打印时间),还原用户操作路径,为修复崩溃提供更多细节信息GitHub自动提交issue使用邮件发送的形式,把接受崩溃日志的邮箱和GitHub特定的开源项目绑定在一起即可,更多细节请看下面介绍依赖添加在你的项目根目录下的build.gradle文件中加入依赖allprojects {     repositories {         ...         maven { url "https://jitpack.io" }     } }添加依赖dependencies {     compile 'com.github.wenmingvs:LogReport:1.0.3' }初始化在自定义Application文件加入以下几行代码即可,默认使用email发送。如果您只需要在本地存储崩溃信息,不需要发送出去,请把initEmailReport()删掉即可。public class MyApplication extends Application {     @Override     public void onCreate() {         super.onCreate();         initCrashReport();     }     private void initCrashReport() {         LogReport.getInstance()                 .setCacheSize(30 * 1024 * 1024)//支持设置缓存大小,超出后清空                 .setLogDir(getApplicationContext(), "sdcard/"   this.getString(this.getApplicationInfo().labelRes)   "/")//定义路径为:sdcard/[app name]/                 .setWifiOnly(true)//设置只在Wifi状态下上传,设置为false为Wifi和移动网络都上传                 .setLogSaver(new CrashWriter(getApplicationContext()))//支持自定义保存崩溃信息的样式                 //.setEncryption(new AESEncode()) //支持日志到AES加密或者DES加密,默认不开启                 .init(getApplicationContext());         initEmailReporter();     }     /**      * 使用EMAIL发送日志      */     private void initEmailReporter() {         EmailReporter email = new EmailReporter(this);         email.setReceiver("wenmingvs@gmail.com");//收件人         email.setSender("wenmingvs@163.com");//发送人邮箱         email.setSendPassword("apptest1234");//邮箱的客户端授权码,注意不是邮箱密码         email.setSMTPHost("smtp.163.com");//SMTP地址         emai
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值