定时日志
简介
- 在设计时,常常忘记时间
- 一些需要记录的东西往往由于没有养成习惯而忘记记录
- 这样导致无法追溯设计的日志
- 失去了分析个人能力和效率的手段
- 为了强制养成写日志的习惯
- 研发了一个定时日志的脚本
- 利用win的定时器触发
- 每小时弹出一个写日志的输入框
- 并自动添加时间到log文件
bat启动文件
- every_hour_exec.bat
rem get script path
set pns_own=%0
set p_own=%~dp0%
set n_own=%~n0%
rem get tcl script
set pns_tcl="%p_own%%n_own%.tcl"
rem start tcl
start "tcl" %SF_P_WISH% %pns_tcl:\=/%
tcl窗口文件
- every_hour_exec.tcl
## *******************************************************************************
## Company: fpgaPublish
## Engineer: f
##
## Create Date: 2023/03/12 10:39:19
## Design Name: every_hour_exec
## Module Name:
## Project Name:
## Target Devices:
## Tool Versions:
## Description:
##
## Dependencies:
##
## Revision:
## Revision 0.01 - File Created
## Additional Comments:
##
## *********************************************************************************
encoding system utf-8
# get path
variable v_own [file normalize [info script]]
#path
set pns_own [file nativename $v_own]
set p_own [file dirname $pns_own]
# =====================================================
# close win and load last setting
set i_id [after 300000 {destroy .}]
# write data
proc write {t_task p_log i_id} {
set now [clock seconds]
set timestr [clock format $now -format "%D %H:%M:%S"]
set pns_file $p_log
set f [open $pns_file a+]
puts $f "---"
puts $f "\#\# $timestr"
puts $f $t_task
#puts $f "\n"
close $f
after cancel $i_id
destroy .
}
## get path param
cd $p_own
cd .
set ns_param_init "script_parameter.ini"
set f_param [open $ns_param_init r]
set v_param [read $f_param]
close $f_param
cd $p_own
# get path
set s_log_path [list]
set s_log_path [regexp -all -inline {[\s]*log_path[\s]*=(.*)} $v_param]
set p_log [lindex $s_log_path 1]
## add win to control
set t_task {* }
label .label -text "this hour log:"
button .ok -text ok -command {write $t_task $p_log $i_id}
bind . <Return> {write $t_task $p_log $i_id}
entry .entry -width 100 -relief sunken -bd 2 -textvariable t_task
grid .label .entry .ok -padx 20m -pady 1m
- script_parameter.ini配置文件放置在同目录下
;win10
log_path=D:/f1_library2/b0_script_app/c1_win_timer/every_hour_log.md //日志缓存的目录
win定时器设置
- 在我的电脑右键菜单管理里面
- 配置定时执行bat的脚本即可
效果
- 弹窗效果
- 日志效果
---
## 04/12/2023 23:06:56
* 公布一个小脚本
小结
- 实现了定时提醒写日志的功能
- 完成了输出结果的缓存
- 验证了TCL/TK开发窗口应用的方法
======== ======\\ ======= -
|| || \\ // \\ /-\
|| || || // // \\
|| || // || // \\
====== ======= || === ========
|| || || \\ // \\
|| || \\ || // \\
|| || \\ // // \\
|| || ======= // \\
作者:绿叶落秋风,专注FPGA技术分析和分享,转载请注明原文链接:https://www.cnblogs.com/electricdream/p/17311879.html,文中资源链接如下:
1. GITHUB开源仓库