spring-logger
v0.0.1Basic logger middleware recipe
spring-bootrecipenexjavabackendmiddlewarelogger
xnex install spring-logger GitHub repo Spring boot logger
Files
java
package {{pkg}}.{{project-name}}.middleware;
import java.io.IOException;
import org.springframework.stereotype.Component;
import jakarta.servlet.Filter;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@Component
public class RequestLoggingMiddleware implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
// --- Request öncesi (Middleware Before) ---
long startTime = System.currentTimeMillis();
System.out.println("[LOG] " + httpRequest.getRequestURI());
// Örnek: Header Kontrolü / Auth Guard
String authHeader = httpRequest.getHeader("Authorization");
/*
if (authHeader == null) {
httpResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
httpResponse.getWriter().write("Unauthorized");
return; // Zinciri devam ettirme, geri dön
}
*/
// İsteyi sonraki filter'a veya Controller'a ilet
chain.doFilter(request, response);
// --- Response sonrası (Middleware After) ---
long duration = System.currentTimeMillis() - startTime;
System.out.println("[LOG] " + httpRequest.getRequestURI() + " Completed in " + duration + "ms with Status: " + httpResponse.getStatus());
}
}
java
package {{pkg}}.{{project-name}}.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/")
public class HomeController {
@GetMapping
public Map<String, Object> home() {
Map<String, Object> response = new HashMap<>();
response.put("status", "success");
response.put("message", "Application is running successfully!");
response.put("timestamp", System.currentTimeMillis());
System.out.println("Main Home");
return response;
}
@GetMapping("health")
public String healthCheck() {
return "OK";
}
}
Install
bash
└─> xnex install spring-logger@link
📦 Nex Installer
info Selected recipes: spring-logger@link
📦 Processing spring-logger...
✔ Using local cache: C:\Users\...\AppData\Local\xnex\Cache\recipes\spring-logger\link.tgz
√ Select project variant » test-controller
📦 Selected variant: test-controller
const pkg = com.example
const project-name = deneme
📦 Recipe file structure:
└─ 📁 src
└─ 📁 main
└─ 📁 java
└─ 📁 com
└─ 📁 example
└─ 📁 deneme
├─ 📁 middleware
│ └─ 📄 RequestLoggingMiddleware.java → src/main/java/com/example/deneme/middleware/RequestLoggingMiddleware.java
└─ 📁 controller
└─ 📄 HomeController.java → src/main/java/com/example/deneme/controller/HomeController.java
Do you want to apply these changes to your project? (y/n): y
✔ Applying changes...
✔ Successfully applyed changes
✨ Successfully installed spring-logger
✨ All operations completed successfully.
Versions
Release links are tracked by Nex; source code lives in the developer's GitHub repo.
Nex downloads
0
GitHub releases
1
setup.files
Files that will be integrated into your project
- recipes
- spring-logger
- README.md → recipes/spring-logger
-
-
- src
- main
- java
- com
- example
- deneme
- middleware
- RequestLoggingMiddleware.java → src/main/java/com/example/{project-name}/middleware
-
-
-
-
-
-
-
nexconfig
Full recipe configuration
json
{
"name": "spring-logger",
"version": "0.0.1",
"description": "Basic logger middleware recipe",
"keywords": [
"spring-boot",
"recipe",
"nex",
"java",
"backend",
"middleware",
"logger"
],
"files": [
"recipes/spring-logger",
"src/main/java/com/example/deneme/middleware",
"src/main/java/com/example/deneme/controller"
],
"setup": {
"files": {
"recipes/spring-logger": {
"README.md": "recipes/spring-logger"
},
"src/main/java/com/example/deneme/middleware": {
"RequestLoggingMiddleware.java": "src/main/java/com/example/{project-name}/middleware"
}
},
"variants": [
{
"name": "test-controller",
"description": "Add test controller",
"setup": {
"files": {
"src/main/java/com/example/deneme/controller": {
"HomeController.java": "src/main/java/com/example/{project-name}/controller"
}
}
}
}
]
},
"var": [
"pkg",
"project-name"
]
}
test-controller
Add test controller
Files
- src
- main
- java
- com
- example
- deneme
- controller
- HomeController.java → src/main/java/com/example/{project-name}/controller
-
-
-
-
-
-
-
`test-controller` raw config
Full `test-controller` variant configuration
json
{
"name": "test-controller",
"description": "Add test controller",
"setup": {
"files": {
"src/main/java/com/example/deneme/controller": {
"HomeController.java": "src/main/java/com/example/{project-name}/controller"
}
}
}
}
You might also be interested in these
Recipe Package
v0.0.1 nestjs
NESTJS EMPTY TEMPLATE
nestjsnexbackend
Recipe Package
v0.0.1 axum-log
Basic log middleware for axum api application.
axumnexbackend
Recipe Package
v0.0.1 axum-base
Basic Axum starter file archiecture recipe
rustaxumnex
Recipe Package
v0.0.3 nestjs-basic-auth
NESTJS BASIC AUTH RECIPE
nestjsnexauth
Recipe Package
v0.0.1 nestjs-logging
NESTJS REQUEST LOGGING MIDDLEWARE RECIPE
nexnestjslogging