Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
906
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Как отслеживать текстовый файл в реальном времени
Для отладки в несколько закрытой системе мне приходится выводить текст в файл.
Кто-нибудь знает инструмент, работающий на windows (консольный или нет), который обнаруживает изменения в файле и выводит их в режиме реального времени?
Мне нравятся инструменты, которые будут выполнять более одной задачи, Notepad++ - отличная замена блокнота и имеет плагин Document Monitor (устанавливается со стандартным msi), который отлично работает. Он также является портативным, так что вы можете иметь его на флэш-накопителе для использования в любом месте.
Для опции командной строки PowerShell (которая на самом деле является новой командной строкой) имеет уже упомянутую замечательную функцию.
Get-Content someFile.txt -wait
Но вы также можете фильтровать в командной строке с помощью регулярного выражения
Get-Content web.log -wait | where { $_ -match "ERROR" }
- Хвост для Win32
- Apache Chainsaw - используется это с log4net журналами, может потребоваться файл в определенном формате
FileSystemWatcher работает хорошо, хотя вам нужно быть немного осторожным в отношении повторяющихся событий, запускающих 1 - ю ссылку от Google , но с учетом этого вы можете получить отличные результаты.
Хвост-это лучший ответ на данный момент.
Если вы не используете Windows, у вас, вероятно, уже есть хвост.
Если вы используете Windows, вы можете получить целый набор инструментов командной строки Unix отсюда: http://unxutils.sourceforge.net/ - распакуйте их и поместите куда-нибудь в свой PATH.
Затем просто сделайте это в командной строке из той же папки, в которой находится ваш файл журнала:
хвост -n 50-f whatever.log
Это покажет вам последние 50 строк файла и будет обновляться по мере обновления файла.
Вы можете объединить grep с хвостом с отличными результатами - что-то вроде этого:
хвост-n 50 - F whatever.log | grep ошибка
дает вам только строки с "Error" в нем
Удачи вам!
Я использовал FileSystemWatcher для мониторинга текстовых файлов для недавно созданного компонента. Возможно, есть и лучшие варианты (я никогда ничего не находил в своем ограниченном исследовании), но это, похоже, хорошо сработало :)
Дерьмо, моя беда, ты на самом деле ищешь инструмент, чтобы сделать все это за тебя..
Ну а если вам не повезет и вы захотите свернуть свой собственный ;)
Попробуйте SMSTrace от Microsoft (теперь называется CMTrace, и непосредственно доступен в меню Пуск на некоторых версиях Windows)
Это блестящий инструмент GUI, который отслеживает обновления любого текстового файла в режиме реального времени, даже если он заблокирован для записи другим файлом.
Не обманывайтесь описанием, его способен контролировать любой файл, в том числе .txt, .log или .csv.
Его способность отслеживать заблокированные файлы чрезвычайно полезна, и это одна из причин, почему эта утилита светит.
Одна из самых приятных особенностей-это окраска линий. Если он видит слово "ERROR", линия становится красной. Если он видит слово "WARN", линия становится желтой. Это делает журналы намного легче следовать.
Чтобы сделать список полным, вот ссылка на порты GNU WIN32 многих полезных инструментов (среди них есть tail). GNUWin32 CoreUtils
Да, я использовал и хвост для Win32, и хвост на Cygwin. Я обнаружил, что оба они превосходны, хотя я немного предпочитаю Cygwin, поскольку я могу эффективно отслеживать файлы через Интернет без сбоев (хвост для Win32 разбился на мне в некоторых случаях).
Так что в принципе, я бы использовал tail на Cygwin и перенаправил вывод в файл на моей локальной машине. Затем я бы открыл этот файл в Vim и перезагрузил его (: e), когда это потребуется.
+1 для BareTail. Я на самом деле использую BareTailPro , который обеспечивает фильтрацию в реальном времени на хвосте с базовыми строками поиска или строками поиска с использованием regex.
Вы можете использовать FileSystemWatcher в System.Diagnostics.
От MSDN:
наблюдатель за общественным классом {
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);
}
}
Вы также можете перейти по этой ссылке, наблюдая за деятельностью папки в VB.NET
Просто бесстыдный штекер, чтобы следить за ответом, но у меня есть бесплатное веб-приложение под названием Hacksaw , используемое для просмотра файлов log4net. Я ввел параметры автоматического обновления, чтобы вы могли получать обновления почти в реальном времени, не обновляя браузер все время.
Вот утилита, которую я написал, чтобы сделать именно это:
Он использует FileSystemWatcher для поиска изменений в файлах журналов в локальных папках или сетевых общих папках (не нужно монтировать, просто укажите путь UNC) и добавляет новое содержимое в консоль.
на github: https://github.com/danbyrne84/multitail
http://www.danielbyrne.net/projects/multitail
Надеюсь, это поможет