精华内容
下载资源
问答
  • 怎样修改打印好的文件日期
    2022-04-06 13:23:56

    在\src\main\resources路径下添加logback-spring.xml文件,文件内容如下,根据需求可以配置多个appender。(前提已经在maven中添加了logback,log4j的包)

    <?xml version="1.0" encoding="UTF-8"?>
    <!--
            1控制台输出日志,同时将日志保存到文件里;
            2保持控制台日志的彩色;
            3按月建日志文件夹,按天建日志文件;
            4com.lpc包下的日志从TRACE级别开始输出,其他包(比如tomcat的日志,SpringSecurity的日志)从INFO级别开始输出。
            跟原来yml里面配置logging.level.com.lpc: trace的输出结果保持一致。-->
    <configuration scan="true" scanPeriod="60 seconds" debug="false">
        <contextName>logback</contextName>
    
        <!--控制台输出内容的颜色转换以及格式-->
        <substitutionProperty name="logging.pattern.console"
                              value="%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
        <!--日志文件输出内容的格式-->
        <substitutionProperty name="logging.pattern.file"
                              value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
    
        <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
        <conversionRule conversionWord="wex"
                        converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
        <conversionRule conversionWord="wEx"
                        converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    
        <!--输出到控制台-->
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <!--控制台使用layout节点-->
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>
                    ${logging.pattern.console}
                </pattern>
            </layout>
        </appender>
    
        <!--按天生成日志-->
        <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <Prudent>true</Prudent>
            <!--滚动策略,我配置了按天生成日志文件-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--相对路径,生成的文件就在项目根目录下-->
                <FileNamePattern>
                    logs/%d{yyyy-MM}/%d{yyyy-MM-dd}.log
                </FileNamePattern>
                <!--注意超过365天的日志文件会被删除,即使已经按天分开也会删除-->
                <MaxHistory>365</MaxHistory>
            </rollingPolicy>
            <!--日志文件里只保存ERROR及以上级别的日志-->
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
    <!--
                <level>ERROR</level>
    -->
            </filter>
            <!--文件使用encoder节点-->
            <encoder>
                <Pattern>
                    ${logging.pattern.file}
                </Pattern>
            </encoder>
        </appender>
    
    
        <!--这个logger里的配置相当于之前yml里的logging.level.com.lpc: trace-->
        <!--additivity的作用-->
        <!--true,则子Logger不止会在自己的appender里输出,还会在root的logger的appender里输出-->
        <!--而这个logger里没配置appender,所以得交给root打印-->
        <!--所以com.lpc包里的日志从TRACE级别开始-->
        <!--其他包里的日志根据root的配置从INFO级别开始打印-->
        <logger name="com.lpc" level="TRACE" additivity="true">
        </logger>
    
        <root level="INFO">
            <appender-ref ref="console"/>
            <!--输出日志到文件-->
            <appender-ref ref="file"/>
    
        </root>
    
    </configuration>
    
    
    
    更多相关内容
  • 代码】【openpyxl 获取文件(excel)的属性,修改日期,创建日期打印日期

    1、目的:获取如下数据

    在这里插入图片描述
    文件:
    在这里插入图片描述

    2、代码

    import datetime
    from openpyxl import load_workbook
    import  pandas as pd
    import os
    
    def getExcelMetadata(root,files):
    	# 获取文件的时间属性
        a1,a2,a3 = [],[],[]
        for file_name in files:
            wb = load_workbook(root+"/"+file_name)
            a1.append((wb.properties.created+datetime.timedelta(hours=+8)).strftime('%Y-%m-%d %H:%M'))
            a2.append((wb.properties.modified+datetime.timedelta(hours=+8)).strftime('%Y-%m-%d %H:%M'))
            a3.append((wb.properties.lastPrinted+datetime.timedelta(hours=+8)).strftime('%Y-%m-%d %H:%M'))
        pd.DataFrame({"文件名":pd.Series(files),"创建时间":pd.Series(a1),"保存时间":pd.Series(a2),"打印时间":pd.Series(a3)}).to_excel("date.xlsx",index=False)
    path = r"data"  # 将文件放在这个文件夹
    files = os.listdir(path)
    
    # 格式不统一无法处理,统一文件后缀格式
    for filename in files:
        print(filename)
        portion = os.path.splitext(filename)
        if portion[1] == ".xls":
            newname = portion[0] + ".xlsx"
            os.rename(path + "/" + filename, path + "/" + newname)
            
    getExcelMetadata(root=path,files=files)
    

    3、结果

    在这里插入图片描述

    展开全文
  • Linux系统下,如何获取一个文件夹内所有的内容,并且打印文件大小和最后修改日期,并用tree的方式打印1. 解题思路二. 代码解析三. 任务总结 1. 解题思路 二. 代码解析 头文件 #include <stdio.h> #...

    Linux系统下,如何获取一个文件夹内所有的内容,并且打印出文件大小和最后修改日期,并用tree的方式打印

    1. 解题思路

    在这里插入图片描述

    二. 代码解析

    • 头文件
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <sys/stat.h>
    #include <dirent.h>
    #include <time.h>
    
    
    • 主函数
    int main(int argc, char const *argv[])
    {
    	char file_path[100] = {0};
    
    	printf("请输入你要查看的目录:\n");
    	scanf("%s", file_path);
    
    	tree(file_path);
    	return 0;
    }
    
    
    • 功能函数
    //用来获取目录下的文件或者子目录
    struct dirent *getdir(DIR *pDIR)
    {
    	struct dirent *mdirent = NULL;
    
    	while (mdirent = readdir(pDIR))
    	{
    		//由于每个目录存在'.'和'..',所以需要避开
    		if (*(mdirent->d_name) != '.')  //对字符串解引用得到单个字符
    		{
    			break;
    		}
    	}
    
    	return mdirent;
    }	
    
    //定义一个用来现实tree的数组
    char list[100] = {0};
    
    
    //将时间戳转换成时间
    char *time_change(time_t t, char *nowtime)
    {  
       	struct tm *lt;
       	lt = localtime(&t);
    
        memset(nowtime, 0, sizeof(nowtime));  
        strftime(nowtime, 24, "%Y-%m-%d %H:%M:%S", lt);    
    }
    
    //循环遍历并且打印出目录结构
    int show_all_file(char *dir, int depth)
    {
    	DIR *pDIR = NULL;
    	struct dirent *pdirent = NULL, *pdirent_prev = NULL;
    	char path[100] = {0}, buf[100] = {0}, time_a[100] = {0};
    	struct stat dir_info, t_info;  //通过文件名来获取文件的信息
    	int flag = 1;
    
    	//判断是否能获取到目录的状态
    	if (stat(dir, &dir_info) == -1)
    	{
    		printf("目录不存在\n");
    		return -1;
    	}
    
    	//判断要打开的是不是普通目录
    	if (!S_ISDIR(dir_info.st_mode))
    	{
    		printf("输入的目录有错误!\n");
    		return -1;
    	}
    
    	//打开目录,并返回结构体指针给pDIR
    	pDIR = opendir(dir);
    		
    	if (pDIR == NULL)
    	{
    		printf("打开目录失败!\n");
    		return -1;
    	}
    
    	pdirent_prev = getdir(pDIR);
    
    	if (pdirent_prev == NULL)
    	{
    		return 0;
    	}
    	pdirent = getdir(pDIR);
    
    	list[depth] = 1;
    	do
    	{
    		for (int i = 0; i < depth; i++)
    		{
    			if (list[i])
    			{
    				printf("│ ");
    			}
    			else
    			{
    				printf(" ");
    			}
    		}
    
    		if (pdirent)
    		{
    			printf("├─");
    		}
    		else
    		{
    			printf("└─");
    			list[depth] = 0;
    		}
    
    		//将每个文件的路径结合到一起
    		memset(buf, 0, 100);
    		strcpy(buf, dir);
    		strcat(buf, "/");
    		strcat(buf, pdirent_prev->d_name );
    		stat(buf, &t_info);
    		time_change(t_info.st_mtime, time_a);
    		printf(" %s  data_size: %ld kb  last_mod_time:%s\n", pdirent_prev->d_name, t_info.st_size, time_a);
    
    
    		if (pdirent_prev->d_type == DT_DIR)
    		{
    			memset(path, 0, 100);
    			strcpy(path, dir);
    			strcat(path, "/");
    			strcat(path, pdirent_prev->d_name );
    
    			show_all_file(path, depth+1);
    		}
    
    		pdirent_prev = pdirent;
    
    		if (pdirent)
    		{
    			pdirent = getdir(pDIR);
    		}
    	} while (pdirent_prev != NULL);
    
    	closedir(pDIR);
    	return 0;
    
    }
    
    
    void tree(char *file_path)
    {
    	if (file_path == NULL)
    	{
    		printf("路径打开失败\n");
    		exit(1);
    	}
    
    	show_all_file(file_path, 1);
    }
    
    

    三. 任务总结

    通过这个简单的任务可以很好的掌握系统编程中对文件夹的操作,以及怎样获取文件夹以及文件夹内容的状态和信息。

    展开全文
  • 1. 实现 fckeditor 按日期分目录的形式存放上传的文件,比如今天是 2015年5月5日,那么今天上传的文件都放在这个目录里面去,明天上传的则自动创建并放在类似 2015-05-06 这样的目录里面去。 (1)找到 editor\...
  • 可以批量打印文件所在目录下的所有Excel文件,不含子目录,支持按文件名或修改日期升序或降序排列。Excel文件需要预先设置版式。
  • Windows批处理以yyyymmdd格式打印当前日期 许可证: MIT 版权所有 (c) 2015 by Lita Li 特此授予任何人免费获得本软件副本和相关文档文件(“软件”)的许可,不受限制地处理本软件,包括但不限于使用、复制、修改...
  • 放到resources下即可, 如果不生效则在application.yml文件中加 logging: config: file:config/logback-spring.xml
  • -full-time -lt | tail -n -$total | awk '{print $6,$7}') # str字符串长度 let len=${#str} # 文件日期信息字符串长度 let cot=len/total # 截取字符串str转为数组date for((i=0;i 3、for循环打印文件夹下所有文件...

    1、Linux打印实现 

    ls --full-time -lt | tail -n -$(ls | wc -l) | awk '{print $6,$7}'

    2、shell 脚本数组实现

    echo "-----------------"
    
    # 文件个数
    let "total=$(ls | wc -l)"
    # 当前文件夹所有文件的日期信息
    str=$(ls --full-time -lt | tail -n -$total | awk '{print $6,$7}')
    # str字符串长度
    let len=${#str}
    # 文件日期信息字符串长度
    let cot=len/total
    # 截取字符串str转为数组date
    for((i=0;i<total;i++));do
        let start=i*30
        date[$i]=${str:$start:30}
    done
    #echo ${date[*]}
    # for循环变量数组date
    for((i=0;i<${#date[*]};i++));do
        echo ${date[$i]}
    done
    
    echo "================="
    

    3、for循环打印文件夹下所有文件的Modify date

    #!/bin/bash 
    
    echo "--------------------"
    
    # 获取指定目录下的文件数量
    total=$(ls /home/hive/observation/tablename/)
    # 文件路径
    dir="/home/hive/observation/tablename/"
    
    for i in ${total[@]};do
        Modify=$(stat $dir$i | sed -n '7p' | awk '{print $2,$3}')
        echo $Modify
    done
    
    echo "===================="

     

    展开全文
  • linux下cat命令连接文件打印到标准输出设备上前言cat命令用于连接文件打印到标准输出设备上(屏幕或 > fileName 到另一个文件),下面这篇文章将详细介绍这个命令,感兴趣的朋友们下面来一起看看吧。命令分类:...
  • 这篇文章主要介绍了JS简单实现查看文档创建日期修改日期和文档大小的方法,结合实例形式分析了JavaScript使用fileCreatedDate属性、fileModifiedDate属性、lastModified属性和fileSize属性相关操作技巧,需要的朋友...
  • logging根据日期分割日志文件 使用的handle为logging.handlers.TimedRotatingFileHandler 通过when参数设置时间的分割单位 S - 秒 M - 分 H - 小时 D - 天 W{0-6}-周,0-6为周一到周六,0表示周一 dictConfig文件...
  • 主要介绍了java启动jar包将日志打印到文本的简单操作,具有很的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 1、 log4j 打印sql 要把日志等级调成debug才会显示sql log4j.rootLogger=info,Console   Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache....
  • shell脚本打印日期时间

    千次阅读 2022-05-10 13:10:06
    因为呀,我是一名运维实习生,每天都需要备份数据库,时间日期是非常重要的,可以确定数据文件的唯一性。 那么我们开始吧! 问题:需要给每一个文件按照规范命名,包括前缀,IP地址、端口、创建时间、后缀等 例如:...
  • 在 SpringBoot 环境下,应该尽量避免使用 xml 配置文件的,但是 logback 不支持代码配置,所以还是需要用 xml 配置的。 ${LOG_HOME}/%d{yyyy-MM-dd}/%i.log true 30 10MB %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5...
  • 一、效果图:二、代码(一)Bootstrap.yml配置文件logging:config: classpath:logback-spring.xml(二)新增logback-spring.xml日志配置文件%date{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) (%file:%line\)- %m%nUTF-8...
  • node.js 获取日期All the file functions in Node.js are provided by the fs module. This module exposes a method called statSync(), which gets the file details synchronously. Node.js中的所有文件功能均...
  • 本文档介绍了文件上传的处理方法,包括当前端form表单的编码类型为enctype="multipart/form-data"时如何处理?以及老办法获取上传文件的名字,新办法自己一个函数获取上传文件的名字。最后讲解了上传一个文件和上传...
  • nohup按日期输入日志到文件

    千次阅读 2021-09-22 10:47:13
    新建run.sh 添加如下内容 #!/bin/sh nohup java -jar /home/jars/jar包名称 >> /home/jars/日志名字date +%Y-%m-%d.out 2>&1 &
  • 由于看到一篇回答提到文件打开可能被发现的问题,所以有了本篇文章,用于解决t看文件后,修改文件访问时间等信息,达到不被发现的目的。那么话不多说,直接开始。 参考文章: Windows核心编程-CreateFile详解 ...
  • log4j.properties文件的配置 # set log levels (INFO,DEBUG,Console,D,E) log4j.rootLogger=DEBUG,Console,D,E # Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target...
  • Directory Lister Pro是一款款非常方便小巧的文件夹列表创建打印工具,通过Directory Lister (文件夹打印)可选择显示目录名,目录大小,目录的文件数,子目录,文件序号,文件路径,文件名称,扩展名,大小,日期,时间,类型, ...
  • A-PDF Watermark也支持为PDF文件添加标记信息,如日期时间、页码、作者。 A-PDF Watermark 支持多种类型的水印,如文本、图片、图形(线形/矩形/圆形)、动态时间、动态文本等,并提供详细选项设置,全面打造个性化...
  • # 整句含义:打印时间,并将打印结果追加到 /opt/test/time_test.txt 文件 echo $current_time >> /opt/test/time_test.txt 结果:  # Out: # /opt/test/time_test.txt 2019-03-27 17:17:35 The end.
  • Go语言Log日志文件打印(fileLogger)

    千次阅读 2021-11-05 21:03:51
    最近项目中使用到 Log 日志文件打印的方式,主要是使用的 fileLogger 来封装的库,fileLogger是一个基于 Go 开发的可自动分割文件进行备份的异步日志库,具有以下特点: 日志文件可按文件大小进行备份,可定制文件...
  • 平时开发C语言程序时,经常需要调试代码,C语言有一些宏,可以打印出当前的行号、文件名称、日期、时间,对程序的调试起到很大的帮助,可以快速定位问题。特别是开发单片机程序时,使用这些宏打印这些信息或者在LCD...
  • python-将文件日期分类

    千次阅读 2021-02-21 16:03:18
    文章目录问题解决成功截图读取...整体逻辑是读取所有的文件名字,找到文件后读取创建日期,如果这个日期文件夹比如2020-2-1已经存在,再判断目标文件夹是否有重复文件,都符合则将文件移入。否则创建一个创建日期文件
  • springboot默认的日志文件是不会自动按天分割的,所以生产环境的日志文件越来越大,很不利于排错。查了很多资料最终配置如下,可以完美按天按错误等级分割日志文件,配置如下。 由于springboot采用约定优先于配置的...
  • 但是使用单独的tomcat部署后,发现日期翻天到20181016后,会生成一个test-20181015-2.log的日志,并且往里面写日志。 最后查了半天,不是log4j2的配置问题,而是tomcat加载的问题,可以参考 ...
  • 项目目录结构:lomback版本号1.18.10【lomback日期和大小轮询配置在1.1.7才出来的】 lomback配置文件: 关键点: <!-- 循环政策:基于时间和大小政策创建日志文件 --> <rollingPolicy class="ch.qos....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 157,247
精华内容 62,898
热门标签
关键字:

怎样修改打印好的文件日期