Giter Site home page Giter Site logo

logging's Introduction

๐Ÿ“œ other templates available at https://github.com/SkyrimScripting/SKSE_Templates

SKSE - Write to Log File


A simple SKSE plugin for Skyrim using:

  • C++
  • CMake
  • CommonLibSSE NG
    • automatically downloaded using vcpkg integration of CMake

Because this uses CommonLibSSE NG, it supports Skyrim SSE, AE, GOG, and VR!

What does it do?

It writes to a log file.

Read plugin.cpp and logger_annotated.h for more details on what it's doing!

I highly recommend you create a log file for your mod.

It's useful for:

  • your own debugging, while developing the mod
  • debugging issues from your users (ask your users to provide .log files in their bug reports on Nexus/GitHub!)

Logging in your own mods

Just use this template!

Or:

  1. Copy the contents of logger.h
  2. Paste the code at the top of your own plugin.cpp
  3. Call SetupLog(); inside of your SKSEPluginLoad
  4. Bam! Done. Use logger::info("We did it!");

Or:

  1. Copy the logger.h file from this template into your own mod
  2. Write #include "logger.h" in your main plugin.cpp file
  3. Call SetupLog(); inside of your SKSEPluginLoad
  4. Bam! Done. Use logger::info("We did it!");

If you plan on using a debugger and would like to see your logs appear inside of your IDE's Debug Console, then use logger_with_debugger_support.h instead of logger.h.

Requirements

  • Visual Studio 2022 (the free Community edition is fine!)
  • CMake 3.25.1+ (please install the Latest Release)
  • vcpkg
      1. Clone the repository using git OR download it as a .zip
      1. Go into the vcpkg folder and double-click on bootstrap-vcpkg.bat
      1. Edit your system or user Environment Variables and add a new one:
      • Name: VCPKG_ROOT
        Value: C:\path\to\wherever\your\vcpkg\folder\is

Once you have Visual Studio 2022 installed, you can open this folder in basically any C++ editor, e.g. VS Code or CLion or Visual Studio

  • for VS Code, if you are not automatically prompted to install the C++ and CMake Tools extensions, please install those and then close VS Code and then open this project as a folder in VS Code

You may need to click OK on a few windows, but the project should automatically run CMake!

It will automatically download CommonLibSSE NG and everything you need to get started making your new plugin!

Project setup

By default, when this project compiles it will output a .dll for your SKSE plugin into the build/ folder.

If you want to configure this project to output your plugin files into your Skyrim Special Edition's "Data" folder:

  • Set the SKYRIM_FOLDER environment variable to the path of your Skyrim installation
    e.g. C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition

If you want to configure this project to output your plugin files into your "mods" folder:
(for Mod Organizer 2 or Vortex)

  • Set the SKYRIM_MODS_FOLDER environment variable to the path of your mods folder:
    e.g. C:\Users\<user>\AppData\Local\ModOrganizer\Skyrim Special Edition\mods
    e.g. C:\Users\<user>\AppData\Roaming\Vortex\skyrimse\mods

Setup your own repository

If you clone this template on GitHub, please:

  • Go into LICENSE and change the year and change <YOUR NAME HERE> to your name.
  • Go into CODE_OF_CONDUCT.md and change <YOUR CONTACT INFO HERE> to your contact information.

It's good to have a Code of Conduct and GitHub will show your project's CODE_OF_CONDUCT.md in the project sidebar.

If you'd like to know more about open source licenses, see:

If you use this template, PLEASE release your project as a public open source project. ๐Ÿ’–

PLEASE DO NOT RELEASE YOUR SKSE PLUGIN ON NEXUS/ETC WITHOUT MAKING THE SOURCE CODE AVAILABLE

logging's People

Contributors

bill-lea avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.