PowerShell默认参数$PSDefaultParameterValues结合Out-File输出到日志文件

输出log是一个永恒的话题,什么tracelistener,net4log,nlog,windows中自带的eventlog,之前在自动重定向PowerShell控制台输出到文件 也算。其实借助于PowerShell 3.0以后的PowerShell默认参数$PSDefaultParameterValues,可以让Out-File,命令也变成也简易的Log神器。


代码如下:

$PSDefaultParameterValues['Out-File:FilePath'] = 'mylog.txt'
$PSDefaultParameterValues['Out-File:Append'] = $true

设置完毕后来测试一下吧


代码如下:

PS> 'Log Started' | Out-File
PS> "Time=$(Get-Date)" | Out-File
PS> 'Log ended' | Out-File
PS> Get-Content .\mylog.txt
Log Started
Time=06/12/2014 11:01:05
Log ended

文章来源:http://www.pstips.net/psdefaultparametervalues-2.html

(0)

相关推荐

  • Powershell小技巧之从文件获取系统日志

    有时你可能会需要分析系统文件将他们传输到硬盘,或你想直接从"evtx"读取系统日志. 你可以这样做: 复制代码 代码如下: $path = "$env:windir\System32\Winevt\Logs\Setup.evtx" Get-WinEvent -Path $path 另附上一段获取系统日志的代码 复制代码 代码如下: $StartTime = (get-date).Date + (new-timespan -Hours 6 -Minutes 35) $

  • PowerShell中使用Get-EventLog读取、筛选系统日志的例子

    本文介绍使用PowerShell读取系统日志,可以按日志名称.日志类型.时间等多个因素进行筛选.PowerShell中提供了一个叫Get-EventLog的cmdlet,使用它可以读取系统日志. 运行一下这个Get-EventLog的cmdlet试一下: 复制代码 代码如下: PS C:\Users\zhanghong> Get-EventLog -LogName System 噢!如果你感觉你被小编害了,cmd窗口一直在滚动个不停,那么按Ctrl+C先把它停下来.然后我解释一下,之所以发生这样

  • Powershell使用WINDOWS事件日志记录程序日志

    通常,人们使用基于文件的日志.这样做没有什么问题,但是使用WINDOWS提供系统内部日志会更加简单. 如果你有管理权限,你可以随时创建一个新的日志: 复制代码 代码如下: New-EventLog -LogName myLog -Source JobDue, JobDone, Remark 该命令创造了一个名为Mylog的日志,这个事件源自"JobDUE","JobDone"和"Remark".管理员权限只是为了创造日志,剩下的操作其它用户都可以

  • PowerShell默认参数$PSDefaultParameterValues结合Out-File输出到日志文件

    输出log是一个永恒的话题,什么tracelistener,net4log,nlog,windows中自带的eventlog,之前在自动重定向PowerShell控制台输出到文件 也算.其实借助于PowerShell 3.0以后的PowerShell默认参数$PSDefaultParameterValues,可以让Out-File,命令也变成也简易的Log神器. 复制代码 代码如下: $PSDefaultParameterValues['Out-File:FilePath'] = 'mylog.

  • python实现异常信息堆栈输出到日志文件

    将try except中捕获到的异常信息输出到日志文件中,方便查找错误原因,tranceback模块提供了把详细出错堆栈信息格式化成字符串返回函数format_exc(). 具体代码如下 import traceback import logging logging.basicConfig(filename='log.log') def error_func(): b = 1 / 0 if __name__ == '__main__': try: error_func() except: s =

  • 将文件夹下所有文件输出到日志文件中 c#递归算法学习示例

    算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等. 注意: 使用递归时,初学者要特别注意的就是"出口",必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵. 代码中的递归: 复制代码 代码如下: static void GetFiles(List<string>

  • Node.js利用console输出日志文件的方法示例

    通常我们在写Node.js程序时,都习惯使用console.log打印日志信息,但这也仅限于控制台输出,有时候我们需要将信息输出到日志文件中,实际上利用console也可以达到这个目的的,今天就来简单介绍一下. 我们首先创建如下文件: // index.js let fs = require('fs'); let options = { flags: 'a', // append模式 encoding: 'utf8', // utf8编码 }; let stdout = fs.createWri

  • java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)

    log4j输出多个自定义日志文件 如果在实际应用中需要输出独立的日志文件,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢? 先看一个常见的log4j.properties文件,它是在控制台和test.log文件中记录日志: 复制代码 代码如下: log4j.rootLogger=DEBUG, stdout, logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layo

  • 利用Log4j将不同Package的日志输出到不同文件的方法

    前言 随着项目规模的越来越大,会不断的引入新的模块,不同的模块都会打印自己的日志,最后就造成日志根本没法查看,比如我自己的项目中,就存在以下这些日志: 接收外界消息的日志.对外发送消息的日志: 后台常驻线程的处理日志: 外部接口访问的参数.返回结果等接口日志: Service访问数据库产生的SQL日志: 这其中,消息日志和后台线程的日志数据量非常庞大,如果所有日志打印在一个文件中,使用tail -f log.log文件,会发现日志在快速的滚动,根本无法查看甚至定位某一个具体的SQL或者Servi

  • C/C++利用libxml2高效输出XML大文件详解

    前言 Libxml2 是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件.它除了支持c语言版以外,还支持c++.PHP.Pascal.Ruby.Tcl等语言的绑定,能在Windows.Linux.Solaris.MacOsX等平台上运行.功能还是相当强大的,相信满足一般用户需求没有任何问题. libxml2常用数据类型 xmlChar是libxml2中的字符类型,在库中的所有字符,字符串都是基于这个数据类型的. xmlChar*是指针

  • Shell执行脚本并输出日志文件的方法

    shell 错误输出重定向到标准输出 ./tmp/test.sh > /tmp/test.log 2>&1 >和<是文件重定向符.那么1和2是什么? shell中每个进程都和三个系统文件相关联标准输入stdin标准输出stdout标准错误stderr三个系统文件的文件描述符分别为0,1和2.所以这里2>&1的意思就是将标准错误也输出到标准输出当中. 下面通过一个例子来展示2>&1有什么作用: $ cat test.sh t date test.s

  • Java实时监控日志文件并输出的方法详解

    前言 最近有一个银行数据漂白系统,要求操作人员在页面调用远端Linux服务器的shell,并将shell输出的信息保存到一个日志文件,前台页面要实时显示日志文件的内容.这个问题难点在于如何判断哪些数据是新增加的,通过查看JDK 的帮助文档, java.io.RandomAccessFile可以解决这个问题.为了模拟这个问题,编写LogSvr和 LogView类,LogSvr不断向mock.log日志文件写数据,而 LogView则实时输出日志变化部分的数据. 代码1:日志产生类 package

  • Python 写入训练日志文件并控制台输出解析

    1. 背景 在深度学习的任务中,通常需要比较长时间的训练,因此我们会选择离开电脑.笔者在跟踪模型表现, 观察模型accuracy 以及 loss 的时候,比较传统的方法是在控制台print输出或者直接使用tensorboard. 但如果是你需要远程观察模型表现,那一个时刻记录的log 文件就非常重要. (如果你希望不在实验室,远程通过访问正在训练网络的服务器的Jupyter Notebook ,实时查看实验进度.请参考--远程连接服务器端Jupyter Notebook) 2. logging

随机推荐