技术标签: springboot2.0学习
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- 定义文件输出格式, 编码方式, 输出文件的路径 -->
<property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %-40.40logger{39} : %m%n"/>
<property name="charsetEncoding" value="UTF-8"/>
<property name="logPath" value="D:/webLog"/>
<!--控制台日志-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${pattern}</pattern>
<charset>${charsetEncoding}</charset>
</encoder>
</appender>
<!-- 运行日志 日期滚动记录-->
<appender name="infoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文件的路径及文件名 -->
<File>${logPath}/infoLog.log</File>
<!--日志记录器的滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 生成日志文件名格式 -->
<FileNamePattern>${logPath}/infoLog.%d{yyyy-MM-dd}.log</FileNamePattern>
<!-- 历史记录存在时间 单位:天 -->
<maxHistory>30</maxHistory>
<!--如果配置了文件大小的限制,若超出限制则会在文件名后追加索引从0开始将文件拆分-->
<!--<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
<!--<maxFileSize>2MB</maxFileSize>-->
<!--</timeBasedFileNamingAndTriggeringPolicy>-->
</rollingPolicy>
<!-- 追加方式记录日志 -->
<append>true</append>
<encoder>
<Pattern>${pattern}</Pattern>
<charset>${charsetEncoding}</charset>
</encoder>
</appender>
<!-- 错误日志 日期滚动记录-->
<appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文件的路径及文件名 -->
<File>${logPath}/errorLog.log</File>
<!--日志记录器的滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 生成日志文件名格式 -->
<FileNamePattern>${logPath}/errorLog.%d{yyyy-MM-dd}.log</FileNamePattern>
<!-- 历史记录存在时间 单位:天 -->
<maxHistory>30</maxHistory>
<!--如果配置了文件大小的限制,若超出限制则会在文件名后追加索引从0开始将文件拆分-->
<!--<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
<!--<maxFileSize>2MB</maxFileSize>-->
<!--</timeBasedFileNamingAndTriggeringPolicy>-->
</rollingPolicy>
<!-- 追加方式记录日志 -->
<append>true</append>
<encoder>
<Pattern>${pattern}</Pattern>
<charset>${charsetEncoding}</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<!-- 设置日志输出级别 -->
<level>ERROR</level>
</filter>
</appender>
<!--配置日志输出的级别-->
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="infoLog"/>
<appender-ref ref="errorLog"/>
</root>
</configuration>
package com.qf.marklife;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class Test1 {
private final static Logger logger = LoggerFactory.getLogger(Test.class);
@Test
public void test(){
logger.info("成功输出info级别日志");
logger.error("成功输出error级别日志");
}
}
error:
info:
logback详细学习传送门:https://www.cnblogs.com/lixuwu/p/5804793.html
根据后端传的值,来显示不同内容1.条件写在差值作用域中 <view class=""> <text style="margin-left: 95rpx;">{{item.state == 0 ? '提现中' : item.state == 1 ? '提现成功' : item.state == 2 ? '提现失败':''}}</text> </view>2.利用data改变<view class=""
声明: 若要转载, 请标明出处.前提: 在对于大量的数据导入到HBase中, 如果一条一条进行插入, 则太耗时了, 所以可以先采用MapReduce生成HFile文件, 然后使用BulkLoad导入HBase中. 引用:一、这种方式有很多的优点:1. 如果我们一次性入库hbase巨量数据,处理速度慢不说,还特别占用Region资源, 一个比较高效便捷的方法就是使用 “Bulk
视觉效果嗯,圆和椭圆还不错,但如果是带圆角的矩形呢?我们现在能做到那样了么?史蒂芬·乔布斯如果你依然在编程的世界里迷茫,不知道自己的未来规划,小编给大家推荐一个IOS高级交流群:458839238 里面可以与大神一起交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行!群内提供数据结构与算法、底层进阶、swift、逆向、整合面试题等免费资料附上一份收...
“三十而立”,第一批90后30岁了,收入多少才能“立”得住呢?前几天,在网上看到了一份中国90后收入的调查报告:报告显示:90后月均收入8000元,三成90后零存款,两成90后存款达到10...
链接:https://www.zhihu.com/question/22790506/answer/316005175编辑:深度学习与计算机视觉声明:仅做学术分享,侵删作者:知乎用户https://www.zhihu.com/question/22790506/answer/81787300恭喜你已经有了一个A类别的idea和相应的实现以及数据,那么接下来就是写文章的问题...
1.效果图 2.View添加虚线 (1)实现view子类 ,进行绘制package labelnet.cn.ledou.ui;import android.content.Context;import android.graphics.Can
该毕业设计使用了比较受前端欢迎的vue框架技术,是一个纯前端的项目,没有使用后端java程序和数据库。如果你刚学完vue相关的知识,可以通过该项目源码对vue加以巩固。现在流行无纸化办公,该项目主要解决了问卷调查相关的问题。主要功能包括:问卷发布,数据查看。其中数据查看以图表的方式展现,便于使用者查看调查结果。源码http://www.byamd.xyz/dljd.html...
vector是一个封装了动态大小数组的顺序容器,它能够存放各种类型的对象。 可以删除元素、可以插入元素、可以查找元素,做这些工作我们无需管理容器内存。容器内存管理,这种脏活累活全部交由vector管理。了解一下vector的内存管理策略,能够更加充分的利用内存。1、定义一个用于测试的类class A{public: A(int data = 100) :data_(data) { construct_count_++; cout<
赖可 发自 凹非寺量子位 报道 | 公众号 QbitAI听说过Kaggle官网的免费“微课“吗?想学Python 、机器学习、数据可视化……你可能会想到Coursera上的在线教程,或者吴恩达大名鼎鼎的深度学习视频课,或者一些有名的网上社区,比如fast.ai,Udemy和EdX。但是你可能会因为时间不够就半途而废。Kaggle官网的一系列课程完美地解决了这个问题。只需要几个小时就可以学到最有用的...
当我们配置VM出现了问题时,又不知道如何下手。重新安装还是一样的问题,这个时候就是因为配置文件还没有完全删除,再次安装的时候是从文件中读取配置,所以我们无论按照卸载多少次还是没有关系。这里我们需要首先需要找到资源管理器中“隐藏的项目”,将其勾选,才能看到ProgramData文件夹找到VMware文件夹,并且删除,就可以让VM恢复默认配置了...
目前 在web框架中最流行的身份验证是使用jsonwebtoken,简称jwt.可以设置加密方式,过期时间,存放个人信息,逆解析.抽空研究了一下nodejs的jwt如何做,下面来记录一下使用的包是"jsonwebtoken": "^8.3.0"包的github地址主要用到的方法是生成token jwt.sign()验证token jwt.verify()...
[转]职场27句经典格言1.长相不令人讨厌,如果长得不好,就让自己有才气;如果才气也没有,那就总是微笑。 2.气质是关键。如果时尚学不好,宁愿纯朴。 3.与人握手时,可多握一会儿。真诚是宝。 4.不必什么都用“我”做主语。 5.不要向朋友借钱。 6.不要“逼”客人看你的家庭相册。 ...