Pregunta

Para propósitos de depuración en un cierto sistema cerrado, tengo a la salida de texto a un archivo.

¿Alguien sabe de una herramienta que se ejecuta en windows (basado en consola o no) que detecta los cambios en un archivo y salidas en tiempo real?

¿Fue útil?

Solución

Otros consejos

Me gusta las herramientas que va a realizar más de una tarea, Notepad++ es un gran reemplazo del bloc de notas y tiene un Documento en el Monitor plug-in (se instala con msi estándar) que funciona muy bien.También es portátil, así que usted puede tener sobre una unidad de disco usb para utilizarlo en cualquier lugar.

Para una opción de línea de comandos de PowerShell (que en realidad es una nueva línea de comandos) tiene una gran característica ya mencionada.

Get-Content someFile.txt -wait

Pero también puede filtrar en la línea de comandos usando una expresión regular

Get-Content web.log -wait | where { $_ -match "ERROR" }

Yo uso "tail-f" bajo cygwin.

Yo uso BareTail para hacer esto en Windows.Es gratuita y tiene algunas características interesantes, tales como fichas para seguir a la cola de múltiples archivos y resaltado configurable.

Cuando se utiliza Windows PowerShell usted puede hacer lo siguiente:

Get-Content someFile.txt -wait

FileSystemWatcher funciona de maravilla, aunque usted tiene que ser un poco cuidadoso acerca de los eventos duplicados de disparo - 1er link de Google - pero teniendo eso en mente puede producir grandes resultados.

La cola es la mejor respuesta hasta ahora.

Si usted no uso Windows, usted probablemente ya tiene cola.

Si usted hace uso de Windows, usted puede conseguir un montón de línea de comandos de Unix herramientas de aquí: http://unxutils.sourceforge.net/ - Descomprimir con ellos y ponerlos en algún lugar en tu CAMINO.

A continuación, sólo hacer esto en el símbolo del sistema desde la misma carpeta que el archivo de registro se encuentra en:

tail-n 50 -f lo que sea.registro de

Esto le mostrará los últimos 50 líneas del archivo y se actualizará a medida que las actualizaciones de archivos.

Usted puede combinar grep con cola con grandes resultados - algo como esto:

tail-n 50 -f lo que sea.log | grep Error

se proporciona sólo con las líneas de "Error" en el que

Buena suerte!

Tardanza en responderte, aunque podría ser útil para alguien - LOGEXPERT parece interesante la cola de utilidad para windows.

He utilizado FileSystemWatcher para el seguimiento de los archivos de texto de un componente recientemente he construido.Puede haber mejores opciones (nunca he encontrado nada en mi limitada de investigación), pero que parecía hacer el truco muy bien :)

Mierda, mi malo eres en realidad, después de una herramienta para hacerlo todo por ti..

Bueno, si recibes mala suerte y quieren darse su propio ;)

Trate de SMSTrace de Microsoft (que ahora se llama CMTrace, y directamente disponible en el Menú de Inicio en algunas versiones de Windows)

Es una brillante herramienta GUI que los monitores de las actualizaciones de cualquier archivo de texto en tiempo real, incluso si su encerrados por escrito por otro archivo.

No se deje engañar por la descripción, su capacidad de supervisión de cualquier archivo, incluyendo .txt, .o de registro .csv.

Su capacidad para supervisar los archivos bloqueados que es muy útil, y es una de las razones por las que esta utilidad brilla.

Una de las mejores características es la línea para colorear.Si ve la palabra "ERROR", la línea se convierte en roja.Si ve la palabra "ADVERTIR", la línea se convierte en amarillo.Esto hace que los registros mucho más fácil de seguir.

La Serpiente De La Cola.Es una buena opción.http://snakenest.com/snaketail/

Yor puede utilizar el objeto FileSystemWatcher en el Sistema.Los diagnósticos.

De MSDN:

clase pública Observador {

public static void Main()
{
Run();

}

[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
public static void Run()
{
    string[] args = System.Environment.GetCommandLineArgs();

    // If a directory is not specified, exit program.
    if(args.Length != 2)
    {
        // Display the proper way to call the program.
        Console.WriteLine("Usage: Watcher.exe (directory)");
        return;
    }

    // Create a new FileSystemWatcher and set its properties.
    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = args[1];
    /* Watch for changes in LastAccess and LastWrite times, and 
       the renaming of files or directories. */
    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite 
       | NotifyFilters.FileName | NotifyFilters.DirectoryName;
    // Only watch text files.
    watcher.Filter = "*.txt";

    // Add event handlers.
    watcher.Changed += new FileSystemEventHandler(OnChanged);
    watcher.Created += new FileSystemEventHandler(OnChanged);
    watcher.Deleted += new FileSystemEventHandler(OnChanged);
    watcher.Renamed += new RenamedEventHandler(OnRenamed);

    // Begin watching.
    watcher.EnableRaisingEvents = true;

    // Wait for the user to quit the program.
    Console.WriteLine("Press \'q\' to quit the sample.");
    while(Console.Read()!='q');
}

// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e)
{
    // Specify what is done when a file is changed, created, or deleted.
   Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    // Specify what is done when a file is renamed.
    Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
}

}

También puede seguir este enlace Viendo la Carpeta de la Actividad en VB.NET

Sólo un enchufe descarado a la cola en la respuesta, pero tengo una libre basada en la web app llamada La sierra utilizar para la visualización de log4net archivos.Yo lo he puesto en una opción de actualización automática de opciones para que usted puede dar a sí mismo cerca de actualizaciones en tiempo real sin tener que actualizar el navegador todo el tiempo.

Sí, yo he usado tanto la Cola para Win32 y la cola en Cygwin.He encontrado tanto para ser excelente, aunque yo prefiero Cygwin ligeramente a medida que soy capaz de cola de archivos a través de internet de manera eficiente sin accidentes (Cola de Win32 se ha estrellado sobre mí en algunos casos).

Así que, básicamente, me gustaría utilizar la cola en Cygwin y redirigir la salida a un archivo en mi máquina local.Entonces yo les haya abierto este archivo con Vim y reload (:e) cuando se requiera.

+1 para BareTail.En realidad yo uso BareTailPro, que se proporciona en tiempo real, filtrado en la cola con la búsqueda básica de cuerdas o cadenas de búsqueda mediante expresiones regulares.

Para hacer la lista completa aquí hay un enlace a la licencia GNU WIN32 puertos de muchas herramientas útiles (de entre ellos, es de la cola).GNUWin32 CoreUtils

Sorprende que nadie haya mencionado Trace32 (o Trace64).Estos son grandes (gratis) de Microsoft utilidades que dan una agradable interfaz gráfica de usuario y resaltar los errores, etc.También se ha filtrado y que suena como exactamente lo que usted necesita.

He aquí una utilidad que le escribí a hacer precisamente eso:

Se utiliza un objeto FileSystemWatcher para buscar cambios en los archivos de registro dentro de las carpetas locales o de recursos compartidos de red (no tiene que ser montado, simplemente proporcione la ruta de acceso UNC) y añade el nuevo contenido a la consola.

en github: https://github.com/danbyrne84/multitail

http://www.danielbyrne.net/projects/multitail

Espero que esto ayude

FileMon es libre independiente de la herramienta que puede detectar todos los tipos de acceso de archivo.Se pueden filtrar los no deseados.No se muestran los datos que en realidad ha cambiado.

En la segunda "tail-f" en cygwin.Supongo que la Cola para Win32 va a hacer la misma cosa.

Hice un pequeño visor por mi propia cuenta:

https://github.com/enexusde/Delphi/wiki/TinyLog

@echo off

set LoggingFile=C:\foo.txt
set lineNr=0

:while1
for /f "usebackq delims=" %%i in (`more +%lineNr% %LoggingFile%`) DO (
    echo %%i
    set /a lineNr+=1
    REM Have an appropriate stop condition here by checking i
)
goto :while1

Un símbolo manera de hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top