forked from qt-creator/qt-creator
Utils: add Q_LOGGING_CATEGORY(fileSystemWatcher)
Change-Id: I554c50a47197a6a9a84427b62a528d87b9db5f19 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -4,12 +4,10 @@
|
|||||||
#include "filesystemwatcher.h"
|
#include "filesystemwatcher.h"
|
||||||
#include "globalfilechangeblocker.h"
|
#include "globalfilechangeblocker.h"
|
||||||
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFileSystemWatcher>
|
#include <QFileSystemWatcher>
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
|
#include <QLoggingCategory>
|
||||||
enum { debug = 0 };
|
|
||||||
|
|
||||||
// Returns upper limit of file handles that can be opened by this process at
|
// Returns upper limit of file handles that can be opened by this process at
|
||||||
// once. (which is limited on MacOS, exceeding it will probably result in
|
// once. (which is limited on MacOS, exceeding it will probably result in
|
||||||
@@ -61,6 +59,8 @@ static inline quint64 getFileLimit()
|
|||||||
|
|
||||||
namespace Utils {
|
namespace Utils {
|
||||||
|
|
||||||
|
static Q_LOGGING_CATEGORY(fileSystemWatcherLog, "qtc.utils.filesystemwatcher", QtDebugMsg)
|
||||||
|
|
||||||
// Centralized file watcher static data per integer id.
|
// Centralized file watcher static data per integer id.
|
||||||
class FileSystemWatcherStaticData
|
class FileSystemWatcherStaticData
|
||||||
{
|
{
|
||||||
@@ -214,8 +214,8 @@ void FileSystemWatcher::init()
|
|||||||
|
|
||||||
if (!d->m_staticData->m_watcher) {
|
if (!d->m_staticData->m_watcher) {
|
||||||
d->m_staticData->m_watcher = new QFileSystemWatcher();
|
d->m_staticData->m_watcher = new QFileSystemWatcher();
|
||||||
if (debug)
|
qCDebug(fileSystemWatcherLog)
|
||||||
qDebug() << this << "Created watcher for id " << d->m_id;
|
<< this << "Created watcher for id" << d->m_id;
|
||||||
}
|
}
|
||||||
++(d->m_staticData->m_objectCount);
|
++(d->m_staticData->m_objectCount);
|
||||||
connect(d->m_staticData->m_watcher, &QFileSystemWatcher::fileChanged,
|
connect(d->m_staticData->m_watcher, &QFileSystemWatcher::fileChanged,
|
||||||
@@ -233,8 +233,8 @@ FileSystemWatcher::~FileSystemWatcher()
|
|||||||
d->m_staticData->m_watcher = nullptr;
|
d->m_staticData->m_watcher = nullptr;
|
||||||
d->m_staticData->m_fileCount.clear();
|
d->m_staticData->m_fileCount.clear();
|
||||||
d->m_staticData->m_directoryCount.clear();
|
d->m_staticData->m_directoryCount.clear();
|
||||||
if (debug)
|
qCDebug(fileSystemWatcherLog)
|
||||||
qDebug() << this << "Deleted watcher" << d->m_id;
|
<< this << "Deleted watcher" << d->m_id;
|
||||||
}
|
}
|
||||||
delete d;
|
delete d;
|
||||||
}
|
}
|
||||||
@@ -251,10 +251,10 @@ void FileSystemWatcher::addFile(const QString &file, WatchMode wm)
|
|||||||
|
|
||||||
void FileSystemWatcher::addFiles(const QStringList &files, WatchMode wm)
|
void FileSystemWatcher::addFiles(const QStringList &files, WatchMode wm)
|
||||||
{
|
{
|
||||||
if (debug)
|
qCDebug(fileSystemWatcherLog)
|
||||||
qDebug() << this << d->m_id << "addFiles mode=" << wm << files
|
<< this << d->m_id << "addFiles mode" << wm << files
|
||||||
<< " limit currently: " << (d->m_files.size() + d->m_directories.size())
|
<< "limit currently:" << (d->m_files.size() + d->m_directories.size())
|
||||||
<< " of " << d->m_staticData->maxFileOpen;
|
<< "of" << d->m_staticData->maxFileOpen;
|
||||||
QStringList toAdd;
|
QStringList toAdd;
|
||||||
for (const QString &file : files) {
|
for (const QString &file : files) {
|
||||||
if (watchesFile(file)) {
|
if (watchesFile(file)) {
|
||||||
@@ -295,8 +295,8 @@ void FileSystemWatcher::removeFile(const QString &file)
|
|||||||
|
|
||||||
void FileSystemWatcher::removeFiles(const QStringList &files)
|
void FileSystemWatcher::removeFiles(const QStringList &files)
|
||||||
{
|
{
|
||||||
if (debug)
|
qCDebug(fileSystemWatcherLog)
|
||||||
qDebug() << this << d->m_id << "removeFiles " << files;
|
<< this << d->m_id << "removeFiles" << files;
|
||||||
QStringList toRemove;
|
QStringList toRemove;
|
||||||
for (const QString &file : files) {
|
for (const QString &file : files) {
|
||||||
const auto it = d->m_files.constFind(file);
|
const auto it = d->m_files.constFind(file);
|
||||||
@@ -349,10 +349,10 @@ void FileSystemWatcher::addDirectory(const QString &directory, WatchMode wm)
|
|||||||
|
|
||||||
void FileSystemWatcher::addDirectories(const QStringList &directories, WatchMode wm)
|
void FileSystemWatcher::addDirectories(const QStringList &directories, WatchMode wm)
|
||||||
{
|
{
|
||||||
if (debug)
|
qCDebug(fileSystemWatcherLog)
|
||||||
qDebug() << this << d->m_id << "addDirectories mode " << wm << directories
|
<< this << d->m_id << "addDirectories mode" << wm << directories
|
||||||
<< " limit currently: " << (d->m_files.size() + d->m_directories.size())
|
<< "limit currently:" << (d->m_files.size() + d->m_directories.size())
|
||||||
<< " of " << d->m_staticData->maxFileOpen;
|
<< "of" << d->m_staticData->maxFileOpen;
|
||||||
QStringList toAdd;
|
QStringList toAdd;
|
||||||
for (const QString &directory : directories) {
|
for (const QString &directory : directories) {
|
||||||
if (watchesDirectory(directory)) {
|
if (watchesDirectory(directory)) {
|
||||||
@@ -386,8 +386,8 @@ void FileSystemWatcher::removeDirectory(const QString &directory)
|
|||||||
|
|
||||||
void FileSystemWatcher::removeDirectories(const QStringList &directories)
|
void FileSystemWatcher::removeDirectories(const QStringList &directories)
|
||||||
{
|
{
|
||||||
if (debug)
|
qCDebug(fileSystemWatcherLog)
|
||||||
qDebug() << this << d->m_id << "removeDirectories" << directories;
|
<< this << d->m_id << "removeDirectories" << directories;
|
||||||
|
|
||||||
QStringList toRemove;
|
QStringList toRemove;
|
||||||
for (const QString &directory : directories) {
|
for (const QString &directory : directories) {
|
||||||
@@ -417,8 +417,8 @@ void FileSystemWatcher::slotFileChanged(const QString &path)
|
|||||||
{
|
{
|
||||||
const auto it = d->m_files.find(path);
|
const auto it = d->m_files.find(path);
|
||||||
if (it != d->m_files.end() && it.value().trigger(path)) {
|
if (it != d->m_files.end() && it.value().trigger(path)) {
|
||||||
if (debug)
|
qCDebug(fileSystemWatcherLog)
|
||||||
qDebug() << this << "triggers on file " << path
|
<< this << "triggers on file" << it.key()
|
||||||
<< it.value().watchMode
|
<< it.value().watchMode
|
||||||
<< it.value().modifiedTime.toString(Qt::ISODate);
|
<< it.value().modifiedTime.toString(Qt::ISODate);
|
||||||
d->fileChanged(path);
|
d->fileChanged(path);
|
||||||
@@ -429,8 +429,8 @@ void FileSystemWatcher::slotDirectoryChanged(const QString &path)
|
|||||||
{
|
{
|
||||||
const auto it = d->m_directories.find(path);
|
const auto it = d->m_directories.find(path);
|
||||||
if (it != d->m_directories.end() && it.value().trigger(path)) {
|
if (it != d->m_directories.end() && it.value().trigger(path)) {
|
||||||
if (debug)
|
qCDebug(fileSystemWatcherLog)
|
||||||
qDebug() << this << "triggers on dir " << path
|
<< this << "triggers on dir" << it.key()
|
||||||
<< it.value().watchMode
|
<< it.value().watchMode
|
||||||
<< it.value().modifiedTime.toString(Qt::ISODate);
|
<< it.value().modifiedTime.toString(Qt::ISODate);
|
||||||
d->directoryChanged(path);
|
d->directoryChanged(path);
|
||||||
|
|||||||
Reference in New Issue
Block a user