日志相关包 slf4j打印日志必须的三个依赖包
slf4j假设使用log4j做为底层日志工具,运行以上程序需要三个包:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
log4j.properties文件配置:
### set log levels ###
log4j.rootLogger = INFO,root,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSSXXX} %-5p [%t] [%C %L] %m%n
log4j.appender.root.Append=true
log4j.appender.root.File=${scheduleProject}logs/root.log
log4j.appender.root.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSSXXX} %-5p [%t] [%C %L] %m%n
log4j.appender.root.layout=org.apache.log4j.PatternLayout
log4j.appender.root.MaxBackupIndex=50
log4j.appender.root.MaxFileSize=20MB
log4j.appender.root=org.apache.log4j.RollingFileAppender
log4j.appender.root.zipPermission=400
log4j.appender.root.logPermission=600
web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1" metadata-complete="true">
<display-name>Archetype Created Web Application</display-name>
<!-- 加载log4j的配置文件log4j.properties -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:config/log4j.properties</param-value>
</context-param>
<!-- 设定刷新日志配置文件的时间间隔,这里设置为10s -->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>10000</param-value>
</context-param>
<!--加载Spring框架中的log4j监听器Log4jConfigListener-->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 为避免项目间冲突,定义唯一的 webAppRootKey -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>scheduleProject</param-value>
</context-param>
<!-- 注册字符集过滤器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- 指定字符集编码 -->
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 注册前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/spring-*.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--默认匹配所有的请求-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
作者:小碗汤,一位热爱、认真写作的小伙,目前维护原创公众号:『我的小碗汤』,专注于写golang、docker、kubernetes等知识等提升硬实力的文章,期待你的关注。 转载说明:务必注明来源(注明:来源于公众号:我的小碗汤, 作者:小碗汤)
web2打开链接看到一群飞奔而来的小黄脸,然后 按F12,即可看到flag,此题flag为KEY{Web-2-bugKssNNikls9100}计算器打开页面11+45=? 输入56,可是只能输5,6怎么也输不上去可能是框内的长度限定了,F12看看果然,这个maxlength=“1”,改为5试试看果然,改成5之后,数字输上去了,flag为flag{CTF-bugku-0032}w...
TOPSIS优劣解距离法–代码部分代码的讲解与书写
样式:代码:<form method="post" action="search.jsp" name="search"> <div class="search"> <div class="search_box"> <span class="searchicon"></span> <input ...
1.解压缩mysql-5.6.4-m7-tar.zip 2.下载压缩包cmake-xxx.tar.gz 3.安装cmake ./configure --prefix=/usr/cmake_exe make yum install bison 4.创建mysql用户及用户组 gr...
3.面向对象(OOP)1.1. POP(面向过程)与OOP(面向对象)1.1.1. POP:强调功能行为,以函数为最小单位,考虑怎么做。OOP:将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做》程序员从面向过程的执行者变成了面向对象的指挥者。1.2. Java类及类的成员1.2.1. 类和对象• 类class: 一类事物的抽象(构造对象的模板或蓝图)描述一类对象的行为和状态(属性)• 类之间的关系• 依赖:uses a尽可能地减少类之间的依赖(耦合度最小)•
import 'package:flutter/material.dart';import 'package:jifeng/widget/my_appbar.dart';class HomePage extends StatefulWidget { @override _HomePageState createState() => _HomePageState();}cla...
以前发过一次,这次又大量添加,骗点回复……第一位的都是推荐的。浏览器:maxthon、chrome、opara、firefox聊天工具:QQ(需chrome):https://chrome.google.com/webstore/detail/dualxbeta/mdmfkkgbifpockljpdagggdaiheefbpp/detailswine+tm2013p1:http://tieba.b...
共享内存实际上是可受用户控制的一级缓存。每个SM中的一级缓存与共享内存共享一个64KB的内存段在开普勒架构的设备中,根据应用程序的需要,每个线程块可以配置为16KB的一级缓存或共享内存。而在费米架构的设备中,可以根据喜好选择16KB或者48KB的一级缓存或者共享内存。早期费米架构中只有固定的16KB共享内存而没有一级缓存。共享内存的延迟极低,大约有1.5TB/s的带宽,远远高于全局内存的190GB
此题有两种建树方式!DescriptionIn this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two adjacent sequence elements until t...
//ActivityIntent intent = new Intent(InfoActivity.this,EmptyActivity.class);//EmptyActivity里面是viewpager+tablayout intent.putExtra("type",1);//1代表你要跳转的fragment下标,下标从0开始 startActivity(intent);//fragment所属的activityi
在高版本的Unity3D中,目测(仅仅只是目测)由于unity有了自己的UI系统,因此软件就把GUI Texture这一个选项给藏了起来。然而如果我们还是想将某图片设置成GUI Texture的话,n那么请按照以下步骤行事:首先创建一个空物体:gameobject -> create empty;然后:component -> rendering -> GUI Texture;最后:把
C语言程序设计练习题.docC 语言程序设计练习题 第一章 C 语言概述 一填空题 1 C 程序是由( )构成的,一个 C 程序中至少包含( ) 。因此, 是 C 程序的基本单位。 2 C 程序注释是由 和 所界定的文字信息组成的。 3 函数体一般包括 和 。 二判断题 1 一个 C 程序的执行总是从该程序的 main 函数开始, 在 main 函数最后结 束。 【 】 2 m...