LinkedLog is a Xcode plugin that includes a Xcode PCH header file template that adds the macros `LLog` and `LLogF` and parses their output to link from the console to the corresponding file and line.

Overview

LinkedLog Xcode Plugin

LinkedLog is a Xcode plugin that includes a Xcode PCH file template that adds the macros LLog and LLogF. The LLog macro will work like NSLog but additionally prints the file name and line number of the call.

LinkedLog then parses the logs and adds links to the corresponding file and line.

Status

Stories ToDo Stories in Progress Stories Done

Build Status LinkedLog chat

Install

  1. Build the project to install the plugin. The plugin gets installed in /Library/Application Support/Developer/Shared/Xcode/Plug-ins/LinkedLog.xcplugin.
  2. Restart Xcode for the plugin to be activated.

Alternatively, install it using Alcatraz plugin manager.

Configuration

  • In Xcode select add files to the project.
  • Select the PCH File+LLog file template from the LinkedLog templates section.
  • Navigate to your build settings, search for prefix and add the created file to "Prefix header"
  • Replace all NSLog calls with LLog or LLogF

Usage

Whenever you want a log message, use LLog(@"string with format: %@", @"'format'"); just as NSLog. The messages will be omitted when building without DEBUG build variable. To force logs to also appear with production build configs use LLogF instead.

Screenshot

LinkedLog

Bugs and limitations

Pull requests

If you want to contribute, send me a pull request.

Improvements

Stories ToDo

Comments
  • Regex broken!?

    Regex broken!?

    For me the regex doesn't match. Im running Xcode7.2 with the latest alcatraz build and I never see any blue, underlined, clickable text

    regex seems to be "^[\d]{4}-[\d]{2}-[\d]{2}\s[\d]{2}:[\d]{2}:[\d]{2}.[\d]{3}\s[^[][\d:\d_]\s(.+/([^/:]+:\d+)):\s._" sample line from the log (1st line) = "2016-02-15 16:22:16.330 myApp LIVE[26556:136834] /Users/dpich/Documents/MySources/myaapp-ios/myApp/Classes/AppDelegate.m:68: didFinishLaunch"

    opened by Daij-Djan 1
  • Parse and Link all log statements

    Parse and Link all log statements

    Hey @julian-weinert , the project is such a neat / thisshouldalreadyexistApple / useful idea!

    I apologize if this is out of the scope of the project but I was wondering if it would be difficult to extend the linking to all log statements, say any obvious [File name]:[Line number] match.

    Considering how many log libraries are out there that people are tied to, especially libraries that by now are very extensive, it would be awesome if LinkedLog was agnostic to logging method you used, just so long as you matched an obvious pattern.

    question wontfix 
    opened by yoiang 1
  • Add a Gitter chat badge to README.md

    Add a Gitter chat badge to README.md

    julian-weinert/LinkedLog now has a Chat Room on Gitter

    @julian-weinert has just created a chat room. You can visit it here: https://gitter.im/julian-weinert/LinkedLog.

    This pull-request adds this badge to your README.md:

    Gitter

    If my aim is a little off, please let me know.

    Happy chatting.

    PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

    opened by gitter-badger 0
  • Doesn't work, neither Xcode 6.4 nor Xcode 7 beta 3 (7a152u)

    Doesn't work, neither Xcode 6.4 nor Xcode 7 beta 3 (7a152u)

    Title says it all - doesn't work. How can you debug it? Enable LinkedLog in Xcode 6.4, disable in 7ß3, build in 7ß3 and Run/Debug. Launch Xcode 6.4, attach that in 7ß3, then debug a simple hello-world project with LLog statements in 6.4. LinkedLog in 6.4 will execute and parse the debugstring, and Xcode 7ß3 will break at breakpoints. Right?

    bug help wanted progress 
    opened by MarcVienna 6
  • XCode crash

    XCode crash

    When I debug my APP like this image XCode do crash!

    Additional: ConsoleTextView is not empty. When I debug my APP with breakpoint by Step over, Xcode do crash!

    Application Specific Information: ProductBuildVersion: 6C131e UNCAUGHT EXCEPTION (NSRangeException): *** -[__NSCFString substringFromIndex:]: Index 240 out of bounds; string length 180

    bug help wanted progress 
    opened by keepyounger 4
  • User wants to add LLog definition to any file

    User wants to add LLog definition to any file

    The plugin must provide the possibility to add the LLog definition to a project with a PCH file in place. This could be a menu item in the edit menu to insert the definition at the cursor location or automatically to the existing PCH file

    enhancement help wanted todo 
    opened by julian-weinert 0
Owner
Julian F. Weinert
iOS / macOS Developer
Julian F. Weinert
A corresponding package to RxKotlin Plus, but for Swift and iOS

A corresponding package to RxKotlin Plus, but for Swift and iOS

Lightning Kite 0 Dec 15, 2021
Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting.

FastStub-Xcode Life is short, why waste it on meaningless typing? What is it? A code generating feature borrowed from Android Studio. FastStub automat

mrpeak 509 Jun 29, 2022
Capacitor File Opener. The plugin is able to open a file given the mimeType and the file uri

Capacitor File Opener. The plugin is able to open a file given the mimeType and the file uri. This plugin is similar to cordova-plugin-file-opener2 without installation support.

Capacitor Community 32 Dec 21, 2022
Use this template as a starting point for any Swift 5 module that you want other people to include in their projects

Swift 5 Module Template Use this template as a starting point for any Swift 5 mo

James Knipe 0 Dec 28, 2021
SharedImages Screen grabs Main Features Private & self-owned social media Users store their images in their own cloud storage (Dropbox or Google Drive

SharedImages Screen grabs Main Features Private & self-owned social media Users store their images in their own cloud storage (Dropbox or Google Drive

Christopher Prince 12 Feb 10, 2022
A macOS application for accessing the output of the SimpleAnalytics package on the desktop.

The SimpleAnalytics package allows you to collect data user interaction analytic data in iOS and macOS applications. This SimpleAnalytics Reader app project allows you to more easily make sense of that collected data by displaying it on your Mac.

Dennis Birch 10 Dec 22, 2022
SyntaxTree - This code attempts to make basic syntax trees in the Xcode console

SyntaxTree This code attempts to make basic syntax trees in the Xcode console. I

Yash 0 Feb 12, 2022
XCode Preview template for UIkit based project.

SwiftPreview XCode Preview template for UIkit based project. Support custom file template class inherit from UIView and UIViewController. How to use?

Won Heo 10 Mar 31, 2022
DataTaskPublisher extension that logs the request and response to the console

NetworkLogger Extension of Combine's DataTaskPublisher that logs the request and response to the console. Usage URLSession.shared.dataTaskPublisher(fo

Lukáš Hromadník 5 Dec 26, 2021
iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems

iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |

Provenance Emu 5.1k Dec 31, 2022
An Xcode Plugin to upload code snippets directly into Slack and Gist

XCSnippetr Share code snippets to Slack and Gist without leaving Xcode ever again! ?? Features Upload code snippets using Slack's and Github's APIs. T

Ignacio Romero Zurbuchen 100 Nov 29, 2022
SwiftLint Plugin for Xcode.

SwiftLint Xcode Plugin Demo Usage Set SwiftLint Path default: Default path is /usr/local/bin/swiftlint relative: Relative path with the current projec

null 18 Jul 23, 2022
🛠 A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern.

Model-View-Presenter template A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern. This

Tamerlan Satualdypov 22 Nov 9, 2022
Static Native Template and Dynamic Styling without any other app release

FileManager Project Students and Freshers, Good opportunity for you to learn and contribute in this project. Here you would learn how you can change t

Naveen Chauhan 3 Nov 30, 2021
A zero-code template app that demonstrates how to use TheraForge's APIs and can be used for fast prototyping

TheraForge MagicBox 1.0.0-beta The Open TheraForge (OTF) MagicBox app is a template for creating digital health solutions that help people better mana

TheraForge 0 Dec 23, 2021
A template Vapor app with nginx frontend.

This is an example Vapor app. It contains the app itself, as well as surrounding components (Postgres database, nginx frontend for providing secure connection), all runnable out of the box with docker compose. It is a good starting point for Vapor development of an API server which you could access from macOS and iOS clients.

Jaanus Kase 5 Jul 1, 2022
The template for Delta Client plugins.

Delta Plugin Template This repository is a template for Delta Client plugins. To create a plugin, create a repo from this template repo and then repla

null 1 Jan 12, 2022
React Native Template for Taro

React Native Template for Taro requirement taro: @tarojs/cli@^3.2.0 framework: 'react' quick start install react native library install peerDependenci

null 1 Nov 20, 2021
Xamoom tourism template iOS

xamoom-tourism-template-iOS Pods Install pods via command pod install Buid system Open File -> Workpace settings Select Legacy Build System Check Do n

xamoom GmbH 0 Nov 15, 2021