log4j.properties: ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.Conversion…
threadlocal精髓是为每一个线程保证一个共享对象,保证一个,保证同一个线程中是同一个共享对象. 如果是静态变量是共享的话,那必须同步,否则尽管有副本,还是会出错,故C错…
创建一个线程 1.示例代码 import time import threading def task(arg): time.sleep(2) while True: num = input('>>>') t = threading.Thread(target=task.args=(num,)) t.start() 创建一个线程池 1.示例代码 import time from concurrent.futures import ThreadPoolExecutor def task(m…
目录 Log4j 下载地址 文件大小分割日志文件 以日期分割每天产生一个日志文件 自定义信息输出到日志文件 Log4j 下载地址 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件 log4j-1.2.17.jar:https://repo1.maven.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar Maven <!-- https://mvnrepository.com/arti…
#直接覆盖日志文件 ls -l | tee ./t.log #将输出内容附加到日志文件 ls -l | tee -a ./t.log 使用的是tee命令…
//WINForm窗体中切换前后台线程执行任务: protected void RunOnUI(Action action) { Invoke(action); } protected void RunOnBg(Action action) { Task.Factory.StartNew(action); } //MongoDB创建索引 ) { tbPoints.Indexes.CreateOne(Builders<GpsPoint>.IndexKeys.Descending(it =>…
在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail  -f  catalina.out 来跟踪Tomcat 和相关应用运行的情况. 在windows下,我们使用startup.bat启动Tomcat以后,会发现catalina日志与Linux记录的内容有很大区别,大多信息只输出到屏幕而没有记录到catalina.out里面. 本文的内容就是要实现在windows下,将相关的控制台输出记录到后台的catalina.out文件中以便…
<Configuration status="INFO"> <Appenders> <Console name="STDOUT" target="SYSTEM_OUT"> <PatternLayout pattern="[%-5p %d{yyyy-MM-dd HH:mm:ss,SSS}] %m%n"/> </Console> <RollingFile name=…
首先需要配置web.xml里面: <servlet-name>log4j-init</servlet-name> <servlet-class>com.free.core.util.Log4j</servlet-class> <init-param> <param-name>log4j</param-name> <param-value>/WEB-INF/classes/logxml/log4j.xml<…
任务是一组逻辑工作单元,而线程则是使任务异步执行的机制.在Java中,Runnable对象代表一个任务,Thread对象负责创建一个线程执行这个任务. 前提:1. 程序需要处理大量任务 2. 任务的执行时间相对创建线程和销毁的时间较短 方法1: while (ture) { Socket connection = socket.accept(); handleTask(connection); //单线程处理所用任务 方法2: while (true) { final Socket connec…
干净的终止一个线程  我曾经在第2章产生一个后台线程,用以输出一张屏幕外的 bitmap 图.我们必须解决的一个最复杂的问题就是,如果用户企图结束程序,而这张bitmap 图尚未完成,怎么办?第2章的一个鸵鸟做法就是在任何 worker 线程还没完成其工作之前,不准用户结束程序.只要修改主消息循环,使消息循环不得在任何一个 worker 线程尚未结束之前结束,即可办到.这种做法的最大优点就是"简单",但万一 bitmap 图十分复杂,需要很长的工作时间,那么程序有可能看起来像是&quo…
我使用的logback版本是1.2.3 目前logback支持根据时间来配置产生日志文件,但是只支持每周,每天,每个小时,每分钟等创建一个文件,配置如下: <appender name="SYSTEM" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.home}/system.log</file> <rollingPolicy clas…
自己在做实验性小项目的时候,发现自己遇到一个问题:如何控制线程的"死亡"? 首先,如何开启一个线程呢? 最简单的代码: public class Main { public static void main(String[] args) { Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println("当前线程:" + Thread.curr…
Java 创建一个线程的三种方式 多线程即在同一时间,可以做多件事情. 创建多线程有3种方式,分别是继承线程类,实现Runnable接口,匿名类 步骤 1 : 线程概念 首先要理解进程(Processor)和线程(Thread)的区别 进程:启动一个LOL.exe就叫一个进程. 接着又启动一个DOTA.exe,这叫两个进程. 线程:线程是在进程内部同时做的事情,比如在LOL里,有很多事情要同时做,比如"盖伦" 击杀"提莫",同时"赏金猎人"又在击…
参考资料:http://nudtgk2000.iteye.com/blog/1716379 首先,在http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip下载log4j包 然后,在原工程里导入包 按照参考资料的提示,一步步来 首先,新建package appender, new 一个class ThreadSeperateDailyRollingFileAppender,该class继承自DailyRo…
开发中经常会用到log日志文件,根据业务需要可能不产生很大日志文件给维护和[排错带来了麻烦.所以我们希望能够每天或每个月产生一个日志文件,这样文件不至于过大. 或者根据日志文件大小来判断,超过规定大小,日志自动增加新文件. 下面针对log4j中这两种方式的实现都很简单,只要在配置文件中设置即可.实例如下: 第一种方式: log4j.rootLogger = DEBUG,con,FILE log4j.appender.con=org.apache.log4j.ConsoleAppender log…
开发过Java的应该都知道Log4j的重要性,尤其是在开发测试中,能够让开发和测试人员方便找的bug,Python也有和Log4j相同功能的库那就是logging库,其功能非常强大,在开发测试中很方便,我是将其作为工具使用的,代码syslog.py如下: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/11/27 15:39 # @Desc : 系统日志,主要用来打印测试 # @File : syslog.py # @So…
当系统出现问题时,分析java虚拟机GC日志可以帮助我们定位问题,一般来说, 我们可以通过制定JVM参数使tomcat保存GC日志文件,具体实现如下: Windows下: 找到tomcat的解压目录,进入bin文件夹,修改catalina.bat,在第一行加入如下代码 set "JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:D:\MyDisk\gc.log" GC日志文件路径可自己制定,…
一.引入相关包 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifa…
最近通过 PyQt5 设计了一个下载服务器指定日期日志文件的程序,里面有些有意思的技术点,现在做一些分享. PyQt5 是一套 Python 绑定 Digia Qt5 应用的框架,是最强大的 GUI 库之一,使用 PyQt5 我们能够很容易的开发桌面应用,接下来我们将用它来开发一个下载服务器日志文件的小程序. 前期准备 软件 QT5 Python 模块 PyQt5==5.15.7 paramiko==2.9.2 PyCharm 添加扩展工具 PyUIC PyUIC 扩展用于将使用 Qt Desi…
何为Logrotate? Logrotate是一个实用的日志管理工具,旨在简化对系统上生成大量的日志文件进行管理. Logrotate允许自动旋转压缩,删除和邮寄日志文件,从而节省宝贵的磁盘空间. Logrotate可以设置为每天.每周.每月或当日志文件达到一定的大小时处理日志文件.还可以完全控制日志的自动化管理方式,而不需要人工干预.Logrotate支持Linux系统上的所有日志文件,包括但不限于Apache.Nginx.Tomcat.ELK.zabbix等应用. 1.安装logrotate…
导包 1.commons-logging.jar包 下载 2.log4j.jar包 下载 配置log4j 1.在src根目录下创建一个log4j.properties文件. 文件全部内容如下: log4j.rootLogger=CONSOLE,stdout,logfile #stdout控制器 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.a…
日志文件:用来记录MySQL实例对某种条件做出响应时写入的文件.如错误日志文件.二进制日志文件.慢查询日志文件.查询日志文件等. 错误日志 show variables like 'log_error'; system hostname; 可以看到错误文件的路径和文件名,默认情况下错误文件的文件名为服务器的主机名.当出现MySQL数据库不能正常启动时,第一个必须查找的文件应该就是错误日志文件,该文件记录了出错信息,能很好地指导我们找到问题. 慢查询日志 慢查询能为SQL语句的优化带来很好的帮助.…
1.清除errorlog文件 MSSQL在 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG 目录下存放这一些日志文件,一共是7个,常常会因为这些日志文件不断增大而导致C盘没有空间 sql2005的error一共有7个,从errorlog,errlog.1一直到errorlog.6要清除这些日志文件的内容,可以在新建查询里执行下面语句: EXEC sp_cycle_errorlog 每执行一次就会产生一个新的errorlog,首先删除…
控制文件: 控制文件在数据库创建时被自动创建,并在数据库发生物理变化时更新.控制文件被不断更新,并且在任何时候都要保证控制文件是可用的.只有Oracle进程才能安全地更新控制文件的内容,所以,任何时候不要试图手动编辑控制文件 Oracle系统提供了备份文件和多路复用机制来保护控制文件. 控制文件中包含的内容(数据库的结构信息+当前的数据库参数设置): 数据库名称和SID标识 数据文件和日志文件列表(文件名称和对应路径信息) 数据库创建的时间戳 表空间信息 当前重做日志文件序列号 归档日志信息 检…
MySQL中有七种日志文件,分别是: 重做日志(redo log) 回滚日志(undo log) 二进制日志(binlog) 中继日志(relay log) 错误日志(errorlog) 慢查询日志(slow query log) 一般查询日志(general log) 下面介绍前4种.... 1. redo log a.作用 保持了事务的持久性, 采用循环写的方式将写数据,写入方式请参考https://www.cnblogs.com/zhixinSHOU/p/13214933.html b.内…
FROM : https://linux.cn/article-4126-1.html 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事. logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件.例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮…
一.RESET MASTER 这个语句可以验证首次配置主机备机是否成功.步骤如下: 1. 启动master和 slave,开启replication (即 复制) 注:replication (复制) 也是mysql一个重要的技术 2.运行一些测试的语句看数据是否能够复制到 slave上面 3.当复制运行正常的话,就 stop slace 然后在slave上面执行 reset slave,去掉不需要的数据 4.在master上面执行reset master 去掉2中产生的数据 可以删除列于索引文…
apache日志文件每条数据的请意义,以及一些实用日志分析命令. 一.日志分析  如果apache的安装时采用默认的配置,那么在/logs目录下就会生成两个文件,分别是access_log和error_log  1).access_log  access_log为访问日志,记录所有对apache服务器进行请求的访问,它的位置和内容由CustomLog指令控制,LogFormat指令可以用来简化该日志的内容和格式  例如,我的其中一台服务器配置如下: CustomLog "| /usr/sbin/…
新到公司, 拿到了前辈们留下的 程序 “病历书” , 上面记载了项目上的一些 经常会犯的毛病,  还有相应的解决方法. 其中有的是因为后台 代码逻辑上的一些原因 , N手代码通病了吧 (这个还是以后再治吧)!!! 其中还有一些则不然 , 比如说现在的线上程序每隔 一周左右就会出现 要么图片不能上传  ,  图片不能下载等问题, 这是为虾米呢 ?? 仔细阅读“病历书”, 才发现原来是因为tomcat的日志没有进行分割,  每到一周左右都需要人为的清空 catlina.out文件,  而且随着用户…