logger 的使用 二logback使用配置详解
下面是一些最基本的,详细的参考:https://logback.qos.ch/manual/index.html
我的使用:把error日志打印在另一个文件,可以用ELK 统一管理
最近使用:
- <?xml version="1.0" encoding="UTF-8"?>
- <!--Sea 整理于 -- -->
- <configuration debug="false" scan="true" scanPeriod="30 seconds">
- <include resource="org/springframework/boot/logging/logback/base.xml"/>
- <jmxConfigurator/>
- <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
- <property name="LOG_HOME_INFO" value="/tmp/milestone-subscription-service/logger/info"/>
- <property name="LOG_HOME_ERROR" value="/tmp/milestone-subscription-service/logger/error"/>
- <property name="LOG_HOME_KAFKA" value="/tmp/milestone-subscription-service/logger/kafka"/>
- <!-- 文件名前缀,一般为项目名-->
- <property name="LOG_PREFIX" value="milestone-subscription-service"/>
- <!-- 控制台输出 -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{} - %msg%n</pattern>
- </encoder>
- </appender>
- <!--info 按照每天生成日志文件 -->
- <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME_INFO}/${LOG_PREFIX}-info.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory></MaxHistory>
- <totalSizeCap>20GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>100MB</MaxFileSize>
- </triggeringPolicy>
- <!-- 设置过滤级别 -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>INFO</level>
- </filter>
- <!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
- <prudent>false</prudent>
- </appender>
- <!-- error按照每天生成日志文件 -->
- <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME_ERROR}/${LOG_PREFIX}-error.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory></MaxHistory>
- <totalSizeCap>20GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>10MB</MaxFileSize>
- </triggeringPolicy>
- <!-- 设置过滤级别 -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>ERROR</level>
- </filter>
- <!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
- <prudent>false</prudent>
- </appender>
- <!--set the kafka log to another folder-->
- <appender name="FILE_KAFKA" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME_KAFKA}/${LOG_PREFIX}-info.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory></MaxHistory>
- <totalSizeCap>20GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>100MB</MaxFileSize>
- </triggeringPolicy>
- <!-- 设置过滤级别 -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>INFO</level>
- </filter>
- <!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
- <prudent>false</prudent>
- </appender>
- <!--set the xxl job thread log level to warn-->
- <logger name="com.xxl.job.core.thread" level="WARN"/>
- <logger name="com.icil.elsa.subscribe.milestone.listener" level="DEBUG" additivity="false">
- <appender-ref ref="FILE_KAFKA" />
- </logger>
- <logger name="org.apache.kafka.clients.consumer.internals" level="INFO" additivity="false">
- <appender-ref ref="FILE_KAFKA" />
- </logger>
- <logger name="org.springframework.kafka.listener" level="INFO" additivity="false">
- <appender-ref ref="FILE_KAFKA" />
- </logger>
- <!-- 日志输出级别 -->
- <!-- <root level="DEBUG"> -->
- <root level="info">
- <!--<appender-ref ref="STDOUT" />-->
- <appender-ref ref="FILE_ERROR"/>
- <appender-ref ref="FILE_INFO"/>
- </root>
- </configuration>
我的使用:
- <?xml version="1.0" encoding="UTF-8"?>
- <!--Sea 整理于 -- -->
- <configuration debug="false" scan="true" scanPeriod="30 seconds">
- <include resource="org/springframework/boot/logging/logback/base.xml" />
- <jmxConfigurator/>
- <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
- <property name="LOG_HOME" value="/tmp/log" />
- <!-- 文件名前缀,一般为项目名-->
- <property name="LOG_PREFIX" value="VAT-service" />
- <!-- 控制台输出 -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{} - %msg%n</pattern>
- </encoder>
- </appender>
- <!--info 按照每天生成日志文件 -->
- <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME}/${LOG_PREFIX}-info.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory></MaxHistory>
- <totalSizeCap>20GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>100MB</MaxFileSize>
- </triggeringPolicy>
- <!-- 设置过滤级别 -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>INFO</level>
- </filter>
- <!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
- <prudent>false</prudent>
- </appender>
- <!-- error按照每天生成日志文件 -->
- <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME}/${LOG_PREFIX}-error.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory></MaxHistory>
- <totalSizeCap>20GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>10MB</MaxFileSize>
- </triggeringPolicy>
- <!-- 设置过滤级别 -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>ERROR</level>
- </filter>
- <!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
- <prudent>false</prudent>
- </appender>
- <!-- 日志输出级别 -->
- <!-- <root level="DEBUG"> -->
- <root level="info">
- <!-- <appender-ref ref="STDOUT" /> -->
- <appender-ref ref="FILE_ERROR" />
- <appender-ref ref="FILE_INFO" />
- </root>
- </configuration>
logback.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!--Sea 整理于 2018-08-31 -->
- <configuration debug="false" scan="true" scanPeriod="30 seconds">
- <include resource="org/springframework/boot/logging/logback/base.xml" />
- <jmxConfigurator/>
- <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
- <property name="LOG_HOME" value="C:\\Users\\lenove\\Desktop\\Testlogger" />
- <!-- 文件名前缀,一般为项目名-->
- <property name="LOG_PREFIX" value="icil-esolution-service" />
- <!-- 控制台输出 -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- </appender>
- <!--info 按照每天生成日志文件 -->
- <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME}/${LOG_PREFIX}-info.log.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory>30</MaxHistory>
- <totalSizeCap>20GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>100MB</MaxFileSize>
- </triggeringPolicy>
- <!-- 设置过滤级别 -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>INFO</level>
- </filter>
- <!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
- <prudent>false</prudent>
- </appender>
- <!-- error按照每天生成日志文件 -->
- <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME}/${LOG_PREFIX}-error.log.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory>30</MaxHistory>
- <totalSizeCap>20GB</totalSizeCap>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>10MB</MaxFileSize>
- </triggeringPolicy>
- <!-- 设置过滤级别 -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>ERROR</level>
- </filter>
- <!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
- <prudent>false</prudent>
- </appender>
- <!-- 日志输出级别 -->
- <!-- <root level="DEBUG"> -->
- <root level="info">
- <appender-ref ref="STDOUT" />
- <appender-ref ref="FILE_ERROR" />
- <appender-ref ref="FILE_INFO" />
- </root>
- </configuration>
1.依赖:
- <properties>
- <project.build.sourceEncoding>UTF-</project.build.sourceEncoding>
- <logback.version>1.1.</logback.version>
- <slf4j.version>1.7.</slf4j.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-core</artifactId>
- <version>${logback.version}</version>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>${logback.version}</version>
- </dependency>
- </dependencies>
参考:https://www.cnblogs.com/reason-cai/p/6763108.html
2.logback.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration debug="false">
- <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
- <property name="LOG_HOME" value="C:\\Users\\lenove\\Desktop\\Testlogger" />
- <!-- 控制台输出 -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- </appender>
- <!-- 按照每天生成日志文件 -->
- <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--日志文件输出的文件名-->
- <FileNamePattern>${LOG_HOME}/esolutions.log.%d{yyyy-MM-dd}.log</FileNamePattern>
- <!--日志文件保留天数-->
- <MaxHistory>30</MaxHistory>
- </rollingPolicy>
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- </encoder>
- <!--日志文件最大的大小-->
- <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <MaxFileSize>10MB</MaxFileSize>
- </triggeringPolicy>
- </appender>
- <!-- 日志输出级别 -->
- <!-- <root level="DEBUG"> -->
- <root level="info">
- <appender-ref ref="STDOUT" />
- <appender-ref ref="FILE" />
- </root>
- </configuration>
3.可参考的logback.xml
- 我的logback.xml常用配置:
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration scan="true" scanPeriod="60 seconds">
- <property name="LOG_HOME" value="../log2" />
- <!-- Simple file output -->
- <appender name="FILE"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
- <encoder>
- <pattern>
- [ %-5level] [%date{yyyy-MM-dd HH:mm:ss.SSS}] %logger{} [%line] [%thread]- %msg%n
- </pattern>
- <charset>UTF-</charset> <!-- 此处设置字符集 -->
- </encoder>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- rollover daily 配置日志所生成的目录以及生成文件名的规则 -->
- <fileNamePattern>${LOG_HOME}/log_%d{yyyyMMdd}.%i.log</fileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <!-- or whenever the file size reaches MB -->
- <maxFileSize> MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- <maxHistory></maxHistory>
- </rollingPolicy>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>INFO</level>
- </filter>
- <!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
- <prudent>false</prudent>
- </appender>
- <!-- Console output -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
- <encoder>
- <pattern>
- [ %-5level] [%date{yyyy-MM-dd HH:mm:ss.SSS}] %logger{} [%line] [%thread]- %msg%n
- </pattern>
- <charset>UTF-</charset> <!-- 此处设置字符集 -->
- </encoder>
- <!-- Only log level WARN and above -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>INFO</level>
- </filter>
- </appender>
- <!-- 邮件监控异常 -->
- <!-- <appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
- <smtpHost>smtp..com</smtpHost>
- <username>cairs-2w010@.com</username>
- <password>zxc1s2dsa46</password>
- <from>cairs-@.com</from>
- <to>403411d876@qq.com</to>
- <subject>【web-ext-Error】: %logger</subject>
- <layout class="ch.qos.logback.classic.html.HTMLLayout"/>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>ERROR</level>
- </filter>
- </appender>-->
- <!-- Enable FILE and STDOUT appenders for all log messages. By default,
- only log at level INFO and above. -->
- <root level="INFO">
- <appender-ref ref="FILE" />
- <!--<appender-ref ref="STDOUT" />-->
- <!--<appender-ref ref="EMAIL" />-->
- </root>
- <!-- For loggers in the these namespaces, log at all levels. -->
- <!-- <logger name="pedestal" level="ALL" /> <logger name="hammock-cafe"
- level="ALL" /> <logger name="user" level="ALL" /> -->
- </configuration>
logger 的使用 二logback使用配置详解的更多相关文章
- logback 常用配置详解(二) <appender>
logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...
- logback 常用配置详解<appender>
logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...
- 【转】logback 常用配置详解(序)logback 简介
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101222, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- logback使用配置详解
title: logback使用配置详解 date: 2017-04-25 16:42:49 tags: 日志 --- 1.介绍 Logback是由log4j创始人设计的另一个开源日志组件,它当前分为 ...
- logback常用配置详解及logback简介
logback 简介(一) Ceki Gülcü在Java日志领域世界知名.他创造了Log4J ,这个最早的Java日志框架即便在JRE内置日志功能的竞争下仍然非常流行.随后他又着手实现SLF4J 这 ...
- logback节点配置详解
一 :根节点 <configuration></configuration> 属性 : debug : 默认为false ,设置为true时,将打印出logback内部日志信 ...
- Logback常用配置详解
logback是一套日志框架,由log4j的优化版,由同一个作者开发,在速度和性能上都超过其他日志框架,再结合slf4j,已成为当前最流行的日志框架. Logback最常用就是在classpath定义 ...
- java日志框架系列(3):logback框架配置详解
1.Logback配置 1.配置步骤及默认配置 logback即可以通过编程式配置,也可以通过xml的形式配置. logback配置步骤: 1. 尝试在 classpath 下查找文件 logback ...
- Maven系列二setting.xml 配置详解
文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...
随机推荐
- C#使用(NamedPipe)命名管道通信的例子
https://blog.csdn.net/yl2isoft/article/details/20228279
- 优化--前端(全占课,未完成作业:);CDN; Http/2的设置(未完成)
前端效能: 关键渲染路径:Google 文档 JavaScript 加载最佳化 让html和javascript同时渲染: 设置<script>的async或者defer属性(boolea ...
- UVA-12657 Boxes in a Line (双向链表)
题目大意:一个1~n的升序数字序列,有4种操作.操作1,将x放到y前面一个位置:操作2将x放到y后面的一个位置:操作3交换x和y的位置:操作4反转整个序列.求经过m次操作后的所有奇数项的和. 题目分析 ...
- 快速切题CF 158B taxi 构造 && 82A double cola 数学观察 难度:0
实在太冷了今天 taxi :错误原因1 忽略了 1 1 1 1 和 1 2 1 这种情况,直接认为最多两组一车了 2 语句顺序错 double cola: 忘了减去n的序号1,即n-- B. Taxi ...
- linux 网络测试命令 长期更新
一.网络测试命令 1.测试 网络连接 发送两包后停发 [oracle@hadoop ~]$ PING www.a.shifen.com (() bytes of data. bytes from tt ...
- XML——概述
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- 由于BOM头导致的Json解析出错
上周五改完一些BUG后,测试通过就安心在家过了个周末.结果周一回来一看,整个安卓APP所有的接口都挂掉了1.查找bug 首先想到的是客户端代码有问题,然后想起来上周五还能运行得好好的手机也是同样的错误 ...
- Alpha阶段第1周Scrum立会报告+燃尽图 05
作业要求与https://edu.cnblogs.com/campus/nenu/2018fall/homework/2246相同 一.小组介绍 组长:刘莹莹 组员:朱珅莹 孙韦男 祝玮琦 王玉潘 周 ...
- 右键添加git bush here
由于sourcetree自动安装的git,导致右键没有git bush here,那么我们就自己添加一下. 运行regedit.exe进入注册表,在HKEY_CLASSES_ROOT\Director ...
- 史上最全的maven的pom.xml文件详解(转载)
此文出处:史上最全的maven的pom.xml文件详解——阿豪聊干货 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...